最近被临时通知要参加个遥感目标检测竞赛,涉及的是旋转目标检测,试了几个方案,发现环境要求都是CUDA10.1或者10.2,pytorch版本也比较低,因为自己已经赔了高版本的CUDA11.7,也不想在装个低版本CUDA或者使用Docker环境,就强行在pytorch1.13和CUDA11.7环境中进行编译,将其中遇到的问题进行一下总结,给后续有相同需求的朋友一点参考,最后是可以编译成功的。
遇到的问题主要有以下几个:
解决方法:
1、将THC.h和THCDeviceUtils.cuh头文件注释掉
2、加入两个新的头文件ceil_div.h,ThrustAllocator.h
3、将代码中的THCCeilDiv()函数修改为at::ceil_div()
4、将代码中的THCState *state注释掉
5、将THCudaMalloc()和THCudaFree()修改为如下形式
6、将THCudaCheck()函数修改为AT_CUDA_CHECK()函数
7、然后重新编译,其他文件报错也是上面几个相同错误,采用相同修改方式即可