运行环境:Ubuntu14.04 TensorFlow1.2 CUDA8.0
最近在实验室服务器上跑TensorFlow,由于LZ对linux也不是很熟悉,解决这个bug花了很长时间,其实这个是个linux中环境变量的问题,首先参考这篇博客中对linux的环境变量的讲解点击打开链接。
这个bug在跑mnist_with_summary.py的时候跑到step90就报错了
I tensorflow/stream_executor/dso_loader.cc:116] Couldn't open CUDA library libcupti.so.8.0. LD_LIBRARY_PATH: /opt/ros/indigo/lib:/usr/local/cuda/lib64
F tensorflow/core/platform/default/gpu/cupti_wrapper.cc:59] Check failed: ::tensorflow::Status::OK() == (::tensorflow::Env::Default()->GetSymbolFromLibrary( GetDsoHandle(), kName, &f)) (OK vs. Not found: /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so: undefined symbol: cuptiActivityRegisterCallbacks)could not find cuptiActivityRegisterCallbacksin libcupti DSO
Aborted (core dumped)
错误报告显示找不到 libcupti.so.8.0这个文件,而我翻了一下,这个文件是在/usr/local/cuda/extras/CUPTI/lib64/下面的,去网上搜索据说是TensorFlow1.2和CUDA8.0有些路径匹配不上。。。好吧,只能手动添加动态库路径了,我使用的方法是修改~/.bashrc这个文件,在~/.bashrc这个末尾加上
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
export CUDA_HOME=/usr/local/cuda
然后再输入
source ~/.bashrc
就能将需要的路径添加进去了。完