pytorch 1.11 环境编译旧版 *.cu 代码可能遇到的问题 “THC/THC.h”: No such file

原因: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 上找到的新版代码进行了修改即可。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注