主要讲一下在Linux下安装tensorflow gpu版的两种方式:使用conda和pip安装。安装cpu版本比较简单,安装命令相同,但是省去了安装cuda和cudnn。
注意: 在安装tensorflow gpu版本前,首先要清楚不同版本tensorflow对应不同的cuda,cudnn版本,而不同的cuda版本对显卡驱动版本又有要求。这几个版本不符合要求是无法使用gpu版本的tensorflow,下面给出了官网说明。
tensorflow-gpu各版本与cuda,cudnn匹配查询:
https://tensorflow.google.cn/install/source?hl=en#linux
CUDA版本与显卡驱动版本匹配查询:
https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html
实际经验: 在实际使用过程中发现cuda版本必须满足显卡驱动的要求,而cuda版本有时不用完全按照tensorflow版本的要求,可以比tensorflow官网要求的cuda版本低。
关于CUDA和cuDNN安装本文不再详说,CSDN上一搜一大堆。先在nvidia官网下载CUDA安装文件和cuDNN安装文件(需要登陆后才能下载)。这里给出安装教程链接:CUDA安装教程,cuDNN安装教程。
1、使用conda安装tensorflow(推荐):
先用conda查询可以安装的tensorflow版本,根据当前的python环境,查询到的版本会有不同,比如python3.6查询到的tensorflow版本就比python3.7查询到的多,原因是一些老版本的tensorflow只支持到python3.6。可以在tensorflow官网安装页面上可以查到不同tensorflow版本支持的python ,若要安装cpu版本的tensorflow直接将后面的-gpu去掉即可。
conda search tensorflow-gpu
安装所需的tensorflow版本,等号后面指定版本,若不指定默认安装最新版本。在安装tensorflow 2.0以上版本时会自动安装上依赖的cuda和cudnn,省去了另外安装cuda和cudnn。
conda install tensorflow-gpu=1.15.0
注意:同一个tensorflow-gpu版本可能有多个cuda的版本,用这个命令下载的cuda和cudnn可能和自己平台不符合,不符合是指和显卡驱动不符合。那么就需要卸载cuda和cudnn重新安装指定版本的cuda和cudnn。
conda uninstall cudnn
conda uninstall cudatoolkit
其实也可以不用卸载,直接执行安装新的指定版本命令,老版本的会自动被替换,这个时候会把tensorflow一起替换掉。
conda install cudatoolkit=9.0
conda install cudnn
2、使用pip安装tensorflow
pip安装就一行命令,等号后面可以指定版本,若不指定默认安装最新版本:
pip install tensorflow-gpu==1.15.0
安装好后检查tensorflow gpu版本是否可用,返回结果为True则可用,如果返回False,那么GPU不可用,tensorflow会使用cpu模式,返回False原因多半是cuda,cudnn,显卡驱动这几个的问题,查看他们是否安装好,以及是否满足本文前面讲的版本对应。
import tensorflow as tf
print(tf.test.is_gpu_available())