You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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,步骤如下:

  1. 先卸载旧版本的CUDA 5.5:
    sudo apt-get purge nvidia-cuda-toolkit
    sudo apt-get autoremove
    
  2. 下载适配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
    
  3. 下载对应版本的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*
    
  4. 重新安装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

火山引擎 最新活动