| # 这是一个用于一键式安装 head_extractor 包及其本地依赖 mmcv 的脚本。 | |
| # 如果任何命令失败,则立即退出 | |
| set -e | |
| echo "--- 步骤 1: 安装编译和加速工具 ---" | |
| pip install -U pip setuptools wheel ninja cmake yapf | |
| pip install torch torchvision numpy==2.0 | |
| echo "--- 步骤 2: 设置编译加速环境变量 ---" | |
| export USE_NINJA=1 | |
| export MAX_JOBS=$(nproc) | |
| export CMAKE_BUILD_PARALLEL_LEVEL=$(nproc) | |
| # echo "--- 步骤 3: 清理旧版本,确保干净的安装环境 ---" | |
| # pip uninstall head_extractor mmcv -y || echo "旧版本未找到,继续..." | |
| # rm -rf build dist *.egg-info mmcv-2.1.0/build mmcv-2.1.0/*.egg-info | |
| echo "--- 步骤 4: 安装 head_extractor ---" | |
| pip install -e . | |
| # echo "--- 步骤 5: 安装 mmcv ---" | |
| # cd ./mmcv-2.1.0 | |
| # MMCV_WITH_OPS=1 pip install --no-build-isolation -v . 2>&1 | tee ../mmcv_install.log | |
| # BUILD_SUCCESS=$? | |
| # cd ../ | |
| echo "--- 步骤 6: 验证安装 ---" | |
| python -c "import head_extractor" && echo "✅ head_extractor" | |
| python -c "import mmengine" && echo "✅ mmengine" | |
| python -c "from mmdet.models.dense_heads import Mask2FormerHead" && echo "✅ mmdet (core)" | |
| python -c "import mmseg" && echo "✅ mmseg" | |
| python -c "import mmcv; import mmcv._ext" && echo "✅ mmcv" | |
| python -c "import mmcv; print('✅ MMCV 版本:', mmcv.__version__)" | |
| echo "🎉 全部安装和验证完成!" |