detectron2,执行最后一步python setup.py build develop出现问题
问题原因:
in vs2022,it seems that the cl handles thread_local as THREAD_DATA , but link is not ready to accept that. The above problem was generated by such method.
在 VS2022 中,CL 似乎将thread_local处理为THREAD_DATA,但链接尚未准备就绪
接受这一点。上述问题就是通过这种方法生成的。
解决办法:
-
打开conda powershell ,管理员,开启conda的基础环境(或者是激活自己安装了cuda版本的pytorch的环境),需要提前配置 pytorch。
-
输入D:\vs1\VC\Auxiliary\Build\vcvars64.bat (对应自己的路径)# 开启vs2022 的 x64环境
在输入以下命令(这个主要是添加环境变量)set MAX_JOBS=4
set DISTUTILS_USE_SDK=1
set OMP_NUM_THREADS=1
-
如果出现上述图片所示的问题,则需要修正vs2022 的链接错误。
打开 aten/src/ATen/Parallel.h, line 32 (对应自己的路径)该文件定位到32行,更改该行代码 。如下所示:
将inline TORCH_API void lazy_init_num_threads
修改为 inline void lazy_init_num_threads
4、在对应的路径里面输入pip install packaging -U在重新运行python setup.py build develop
即可
5、最后如下图显示则代表安装成功