cuda_device_functions.h:32:31: fatal error: cuda/include/cuda.h: 没有那个文件或目录

匿名 (未验证) 提交于 2019-12-03 00:34:01

根据https://github.com/zengarden/light_head_rcnn进行编译的过程中,在lib下运行bash make.sh,会报两个相似的错误,一个是psalign_pooling,一个是psroi_pooling。错误如下:

/home/tf/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/util/cuda_device_functions.h:32:31: fatal error: cuda/include/cuda.h: 没有那个文件或目录

/home/tf/anaconda3/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/util/cuda_device_functions.h:32:31: fatal error: cuda/include/cuda.h: 没有那个文件或目录

打开编译文件:/home/tf/light_head_rcnn/lib/lib_kernel/lib_psalign_pooling/make.sh
内容如下:
运行第一行括号里面的内容,可以输出include的路径:输出路径如下:
/home/tf/anaconda3/lib/python3.6/site-packages/tensorflow/include
它报的错误在cuda_device_functions.h里面32行#include “cuda/include/cuda.h”,上一行的路径里面没有cuda.h。cuda.h是在/usr/local/cuda-9.0/include/cuda.h这儿的。问题在这儿。

由于我是两个用户下的cuda版本不一样,usr/local/cuda链接的是cuda8,cuda9是在bashrc里面添加变量来实现的。
1:首先将第三行变为/usr/local/cuda-9.0。编译之后和原来一样
2:在nvcc里面添加路径

添加之后,编译,报的错误会不一样,查看编译信息,发现有的调用cuda8的,有调用cuda9的。
3:将usr/local/cuda链接到cuda9,再进行编译,编译成功

sudo ln -s cuda-9.0 cuda9#建立软链接命令 sudo mv cuda cuda8#重命名命令

等编译完成后,再换回原来的,保证不会影响另一个用户

1:train的时候报:No module named ‘setproctitle’
pip install setproctitle

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!