Tensorflow版本兼容问题(keras,cuda,cudnn)

Tensorflow使用GPU进行训练之前,需要确认的是GPU是否可用

如不确定机器是否有GPU,可以输入以下命令进行确认

查看显卡信息:
 lspci | grep -i vga

sudo prime-select nvidia # 切换nvidia显卡
sudo prime-select intel # 切换intel显卡
sudo prime-select query # 查看当前使用的显卡

可以在shell中输入下面命令来确认GPU是否已经安装驱动

nvidia-smi

如果出现报错,则需要安装英伟达驱动,可以参照以下几条命令

查看合适的驱动
ubuntu-drivers devices

卸载显卡驱动:
sudo apt purge nvidia-*

安装显卡对应版本
sudo apt install nvidia-390

注意,驱动的版本需要对照CUDA的版本,可以参照下面的链接:

https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html


如果都没问题,但是无法使用GPU进行训练,可以用以下代码段进行简单的测试

from tensorflow.python.client import device_lib
import tensorflow as tf


print(device_lib.list_local_devices())
print(tf.test.is_built_with_cuda())
print(tf.test.is_gpu_available())
print(tf.__version__)

如果出现False可以检查nvidia驱动上的cuda版本,以及在shell中查询机器安装的版本是否存在兼容性问题。

查看CUDA版本
nvcc -v

查看CUDNN版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

CUDNN显示出的信息就是对应的版本

Tensorflow版本兼容问题(keras,cuda,cudnn)_第1张图片

这里对应的版本就是7了

Tensorflow与CUDNN,CUDA的版本对应可以参照:

https://tensorflow.google.cn/install/source

Tensorflow与Keras的版本对应可以参照:

https://docs.floydhub.com/guides/environments/

你可能感兴趣的:(tensorflow踩坑)