一、环境准备:
一定要注意这个,本憨憨因为装了十几次ubuntu没遇上这些默认选项没勾上的情况,最近一次apt怎么更新都在历史悠久的版本,请教了大佬也愣是没解决,重装了好几次机。最后快放弃了随便看看的时候发现勾都不见了,完美解决了沙雕问题hhh
二、安装cuda10.1
1.禁用nouveau并重启:(安装Nvidia显卡的官方驱动和系统自带的nouveau驱动冲突)
sudo gedit /etc/modprobe.d/blacklist.conf
末尾加入
blacklist nouveau
保存后重启电脑,终端输入命令行查看是否禁用成功(无输出则禁用成功)
lsmod | grep nouveau
2.查找tensorflow对应版本的cuda,并下载
可以发现,tensorflow2.1对应cuda版本是10.1。接着到cuda官网下载
安装完毕查看显卡驱动情况:
nvidia-smi
查看cuda是否安装成功,显示gpu相关信息则安装成功
cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
三、安装Anaconda3
链接:https://www.anaconda.com/distribution/
进入下载文件所在目录:
bash Anaconda3-2019.10-Linux-x86_64.sh
回车至
下载成功如下:
查找Anaconda3版本:
conda --version
安装好anaconda后 conda 找不到命令的解决办法:
vim ~/.bashrc
键盘“i”表示插入
在最后添加:export PATH=~/anaconda3/bin:$PATH
按下Esc之后输入“:wq!” 保存退出即可
source ~/anaconda3/bin/activate
四、下载tensorflow
conda create -n tf2 python=3.7.4
激活环境:
source activate tf2
下载版本匹配的cuda和cudnn:
conda install cudatoolkit=10 cudnn=7.6
查找能够和cuda和cudnn匹配版本的tensorflow-gpu版本:
conda search tensorflow-gpu
下载tensorflow-gpu2.0.0:
conda install tensorflow-gpu==2.0.0
验证:
五、tensorflow2.1
--------------------------------------------------------2020-2---------------------------------------------------------
由于tensorflow2.0中tf.matmul存在致命错误,同时tf.keras与python路径不匹配,导致代码编写时tf.keras后无代码提示,所以我们优先使用tensorflow2.1。安装方法如下:
conda create -n tf2-gpu python==3.7.6
conda activate tf2-gpu
#由于目前conda不支持tensorflow2.1,所以只能用pip操作
pip install tensorboard
pip install tensorflow-gpu==2.1
pip install ipython
下载版本匹配的cuda和cudnn:
conda install cudatoolkit=10 cudnn=7.6
--------------------------------------------------------2020-7---------------------------------------------------------
鉴于conda现在也可以下载tensorflow2.1了,更新一下博客:
conda create -n tf2-gpu python==3.7.6
conda activate tf2-gpu
conda install tensorboard
conda install tensorflow-gpu==2.1
conda install ipython
conda install cudatoolkit=10 cudnn=7.6
六、环境验证
查询NVidia显存的使用:
nvidia-smi
验证可以使用TensorFlow并且利用GPU的强大性能:
import tensorflow as tf
print("Num GPUs Available: ", len(tf.config.experimental.list_physical_devices('GPU')))
显示如下则成功:
Num GPUs Available: 1