这个问题在配置Obbdetection环境的过程中卡了很久,主要是出现在运行了如下代码之后
pip install -v -e .
出现了这样的报错
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "I:\Obbdetection-master\setup.py", line 195, in <module>
setup(
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\__init__.py", line 117, in setup
return distutils.core.setup(**attrs)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\core.py", line 183, in setup
return run_commands(dist)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\core.py", line 199, in run_commands
dist.run_commands()
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\dist.py", line 954, in run_commands
self.run_command(cmd)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\dist.py", line 950, in run_command
super().run_command(command)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command
cmd_obj.run()
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\command\develop.py", line 35, in run
self.install_for_development()
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\command\develop.py", line 112, in install_for_development
self.run_command('build_ext')
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
self.distribution.run_command(command)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\dist.py", line 950, in run_command
super().run_command(command)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\dist.py", line 973, in run_command
cmd_obj.run()
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\command\build_ext.py", line 98, in run
_build_ext.run(self)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
self.build_extensions()
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\torch\utils\cpp_extension.py", line 670, in build_extensions
build_ext.build_extensions(self)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 476, in build_extensions
self._build_extensions_serial()
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 502, in _build_extensions_serial
self.build_extension(ext)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\command\build_ext.py", line 263, in build_extension
_build_ext.build_extension(self, ext)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 557, in build_extension
objects = self.compiler.compile(
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\torch\utils\cpp_extension.py", line 635, in win_wrap_ninja_compile
cuda_post_cflags = win_cuda_flags(cuda_post_cflags)
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\torch\utils\cpp_extension.py", line 507, in win_cuda_flags
cflags + _get_cuda_arch_flags(cflags))
File "C:\Users\admin\.conda\envs\pytorch_obbcp38\lib\site-packages\torch\utils\cpp_extension.py", line 1438, in _get_cuda_arch_flags
raise ValueError("Unknown CUDA arch ({}) or GPU not supported".format(arch))
ValueError: Unknown CUDA arch (8.9) or GPU not supported
error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
本人配置是4060ti,使用的torch版本是1.7.1-cp37+cu110(torchvision-0.8.2-cp37+cu110,torchaudio-0.7.2-cp37),以下是解决方案:
首先是根据ValueError前的路径找到虚拟环境中的cpp_extension.py,可以直接用记事本打开该文件,找到如下代码:
supported_arches = ['3.5', '3.7', '5.0', '5.2', '5.3', '6.0', '6.1', '6.2',
'7.0', '7.2', '7.5', '8.0', '8.6']
在最后补上对应gpu的算力即可(我的4060ti的算力是8.9,于是有修改如下)
supported_arches = ['3.5', '3.7', '5.0', '5.2', '5.3', '6.0', '6.1', '6.2',
'7.0', '7.2', '7.5', '8.0', '8.6','8.9']