Windows 10系统安装detectron2执行pip install -e .报错求助
Windows10下Detectron2执行
pip install -e .安装报错解决方案 前置环境校验
- 确认CUDA 11.1系统环境变量配置正确:cmd执行
nvcc -V能正常输出版本号为11.1,而非仅安装CUDA显卡驱动 - 确认PyTorch和CUDA版本匹配:激活torch虚拟环境后执行
python -c "import torch;print(torch.cuda.is_available())输出为True,且python -c "import torch;print(torch.version.cuda)"输出为11.1 - 确认已安装Visual Studio 2019/2022,且勾选了「使用C++的桌面开发」组件,detectron2编译依赖MSVC编译环境
具体解决步骤
切换适配PyTorch 1.8的detectron2版本
最新版detectron2已不再支持PyTorch 1.8,需要回滚到适配的历史commit,进入detectron2根目录执行命令:
git checkout f5371a7
修改Windows专属编译参数
打开detectron2根目录下的setup.py文件,找到extra_compile_args相关代码段,替换为以下内容:
extra_compile_args = { "cxx": ["/std:c++17", "/O2", "/MD"], "nvcc": [ "-O3", "-DCUDA_HAS_FP16=1", "-D__CUDA_NO_HALF_OPERATORS__", "-D__CUDA_NO_HALF_CONVERSIONS__", "-D__CUDA_NO_HALF2_OPERATORS__", ] }
注:替换后需删除所有原代码中Linux专属的gcc编译参数,比如-Wno-unused-argument这类前缀为-W的参数
3. ### 清空缓存重新安装
执行以下命令清理历史编译缓存后重新安装:
rmdir /s /q build rmdir /s /q detectron2.egg-info pip install -e .
特殊报错排查
可根据报错关键词快速定位修复:
- 报错含
nvcc fatal : Unsupported gpu architecture 'compute_86':执行set TORCH_CUDA_ARCH_LIST=7.5后再运行安装命令- 报错含
缺少xxx.h头文件:确认Visual Studio的C++桌面开发组件安装完整,重启cmd重新激活虚拟环境后重试- 报错含PyTorch接口不存在/不匹配:重新确认detectron2的commit切换成功,不要使用官方主分支最新代码
内容的提问来源于stack exchange,提问作者maverick_slayer
相关产品推荐
相关产品推荐

