我有以下配置:
- SUSE Linux 企业服务器 12 SP3 (x86_64)
- CUDA 工具包:CUDA 9.2(9.2.148 更新 1)
- CUDA 驱动程序版本:396.37
根据 NVIDIA 的说法恰到好处(https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#major-components)。
我使用 Anaconda 设置了一个新环境并在其中安装了 tensorflow-gpu:
conda create -n keras python=3.6.8 anaconda
conda install -c anaconda tensorflow-gpu
但是如果我想通过python控制台检查安装:
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
我收到以下错误:
2019-04-17 15:23:45.753926: I tensorflow/core/platform/cpu_feature_guard.cc:141] 您的 CPU 支持此 TensorFlow 二进制文件未编译使用的指令:SSE4.1 SSE4.2 AVX AVX2 FMA
2019-04-17 15:23:45.793109: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU 频率:2600180000 Hz
2019-04-17 15:23:45.798218: I tensorflow/compiler/xla/service/service.cc:150] XLA 服务 0x561f42601240 在平台主机上执行计算。设备:
2019-04-17 15:23:45.798258: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor 设备 (0): ,
2019-04-17 15:23:45.981727: I tensorflow/compiler/xla/service/service.cc:150] XLA 服务 0x561f426ad9b0 在平台 CUDA 上执行计算。设备:
2019-04-17 15:23:45.981777: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor 设备 (0): Tesla K40c, Compute Capability 3.5
2019-04-17 15:23:45.982175: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] 找到具有属性的设备 0:
名称:Tesla K40c 主要:3 次要:5 内存时钟速率(GHz):0.745 pciBusID:0000:06:00.0 总内存:11.17GiB 空闲内存:11.09GiB
2019-04-17 15:23:45.982206: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] 添加可见的 gpu 设备:0
追溯(最近一次调用最后一次):文件“”,第 1 行,在文件“/home/fuchs/.conda/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py”中,第 1551 行,在init super(Session, self) 中。init (target, graph, config=config) 文件“/home/fuchs/.conda/envs/keras/lib/python3.6/site-packages/tensorflow/python/client/session.py”,第 676 行,在init self._session = tf_session.TF_NewSessionRef(self._graph._c_graph, opts) tensorflow.python.framework.errors_impl.InternalError: cudaGetDevice() 失败。状态:CUDA 驱动程序版本对于 CUDA 运行时版本不足
我一直在寻找解决这个问题的其他人的解决方案,但对于大多数人来说,这是因为 CUDA 工具包和驱动程序版本不匹配。我不是这种情况。
我真的很感激你的帮助。