1、出现这条错误,一般是因为cuda计算能力和Tensorflow版本不匹配出现的问题。
RuntimeError: NVCC returned an error. See below for full command line and output log:
nvcc fatal : Value 'sm_86' is not defined for option 'gpu-architecture'
解决方案
找到项目文件 \dnnlib\tflib\custom_ops.py
修改:
compile_opts += ' --gpu-architecture=%' _get_cuda_gpu_arch_string()
为:compile_opts += ' --gpu-architecture=sm_60'
2、下面出现,这是因为c++版本导致的问题
#error "C++ versions less than C++11 are not supported."
修改:
找到项目文件 \dnnlib\tflib\custom_ops.py
cmd = 'nvcc ' + opts.strip()
改为:
cmd = 'nvcc --std=c++11 -DNDEBUG ' + opts.strip()
3、因为gcc编译的问题,生成so包过程中,主要是由gcc编译选项问题导致的,gcc版本大于 4,本身支持c11标准,则不需要选项-
tensorflow.python.framework.errors_impl.NotFoundError:
修改:
找到项目文件 \dnnlib\tflib\custom_ops.py
compile_opts += ' --compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=0\''
改为:
compile_opts += ' --compiler-options \'-fPIC -D_GLIBCXX_USE_CXX11_ABI=1\''