运行Tensorflow版本的Faster-RCNN时,报错“cudaCheckError() failed : invalid device function”,而且没有回溯。
GitHub地址:https://github.com/CharlesShang/TFFRCNN (Tensorflow 版本的Faster-RCNN不只这一个,但内容应该都一样)
百度无果后果断Google,发现这个错误是由于GPU的计算能力设置错误导致的。设置GPU计算能力:
TFFRCNN/lib/make.sh
nvcc -std=c++11 -c -o psroi_pooling_op.cu.o psroi_pooling_op_gpu.cu.cc \
-I $TF_INC -D GOOGLE_CUDA=1 -x cu -Xcompiler -fPIC -arch=sm_20
和 TFFRCNN/lib/setup.py
extra_compile_args={'gcc': ["-Wno-unused-function"],
'nvcc': ['-arch=sm_20',
'--ptxas-options=-v',
'-c',
'--compiler-options',
"'-fPIC'"]},
GPU计算能力百度一下随便搜,但使用GTX 750 Ti和GTX 750的需要注意:计算能力是2.0而不是5.0!!网上写的都是5.0,这就非常尴尬了。。。