TensorFlow 1.4.1 GPU版本导入失败问题求助
解决TensorFlow GPU版本导入错误:undefined symbol: cuDevicePrimaryCtxSetFlags
这个问题我之前也碰到过,核心原因很明确:你的CUDA版本(5.5)和TensorFlow 1.4.1完全不兼容。cuDevicePrimaryCtxSetFlags是CUDA 8.0才新增的API,而你当前的CUDA 5.5根本没有这个函数,所以导入TensorFlow时会触发符号未定义的错误。
下面给你两个可行的解决方案,根据你的实际情况选择:
方案1:升级CUDA到8.0(推荐,适配TensorFlow 1.4.1)
TensorFlow 1.4.1要求的最低CUDA版本是8.0,同时需要搭配cuDNN 6.0,步骤如下:
- 先卸载旧版本的CUDA 5.5:
sudo apt-get purge nvidia-cuda-toolkit sudo apt-get autoremove - 下载适配Ubuntu 14.04的CUDA 8.0安装包,按照官方指引完成安装(注意不要勾选与当前显卡驱动冲突的选项)。安装后配置环境变量:
echo 'export PATH=/usr/local/cuda-8.0/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc source ~/.bashrc - 下载对应版本的cuDNN 6.0,解压后复制文件到CUDA目录:
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64 sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h /usr/local/cuda-8.0/lib64/libcudnn* - 重新安装TensorFlow 1.4.1:
pip install tensorflow-gpu==1.4.1
方案2:安装与CUDA 5.5兼容的TensorFlow版本
如果暂时无法升级CUDA,那只能选择支持CUDA 5.5的TensorFlow版本。根据官方兼容表,TensorFlow 1.0.0是最后一个支持CUDA 5.5的正式版本,这也和你提到的“仅能安装到1.0.0版本”的情况吻合。安装命令:
pip install tensorflow-gpu==1.0.0
⚠️ 注意:这个版本功能相对老旧,缺少很多后续版本的新特性,如果后续有使用高级功能的需求,还是建议优先升级CUDA。
验证安装是否成功
完成安装后,打开Python终端测试:
import tensorflow as tf print("TensorFlow版本:", tf.__version__) # 测试GPU是否正常工作 with tf.Session() as sess: test_tensor = tf.add(tf.constant([1,2,3]), tf.constant([4,5,6])) print("GPU计算结果:", sess.run(test_tensor))
如果能正常输出版本号和计算结果,说明安装成功。
内容的提问来源于stack exchange,提问作者emapesce




