原因:pytorch 1.11 开始弃用 TH(C) 系列函数,需要用新的 ATen 系列函数进行替换。在这里有讨论:https://discuss.pytorch.org/t/question-about-thc-thc-h/147145/9
解决方案:在 GitHub 上搜索编译时报错的 *.cu 文件名,有可能能找到别人已经改好的新版的 *.cu 代码,此时可对照修改或直接下载替换。比如 ml_nsm.cu
的新版代码为:https://github.com/best-of-acrv/fcos/blob/4fd0887ed32a3fb8b6ab7c692d198fef339c4ceb/fcos/core/csrc/cuda/ml_nms.cu
关于这次编译 ml_nms.cu
时遇到的 "THC/THC.h": No such file
报错:
- 当我使用
pip install -e .
命令安装AdelaiDet
这个库时,首先报错提示找不到cl.exe
,此时将以前安装过的 VisualStudio 的路径下包含cl.exe
的路径加入环境变量即可。
- 之后便报错提示
"THC/THC.h": No such file
,此时对照开头说的从 GitHub 上找到的新版代码进行了修改即可。