学习《Tensorflow深度学习算法原理与编程实战》,首先需要配置环境。
环境介绍
使用自己笔记本进行学习,安装win10与ubuntu18.04双系统,一开始想安装ubuntu16.04,但是无线网卡驱动尝试了n种方法都没搞好,最后决定用ubuntu18.04自带wifi选项。
lspci | grep -i nvidia查看显卡型号
安装对应版本的驱动,尝试了好几种方法最后才成功,方法后续整理,invidia-smi检测安装成功。
环境配置
Anoconda3安装
Anoconda是一个打包的集合,里边预装了conda、某个版本的python,众多packages还有专业的科学计算工具等,被当作python的一种发行版。后续默认使用anoconda作为tensorflow的python环境。
Anoconda安装比较简单,参考链接https://blog.csdn.net/qq_15192373/article/details/81091098。
本机安装好后终端输入python显示如下:
bazel安装
bazel安装之前需要安装JDK8,由于我之前安装pycharm软件时已经安装了jdk,此处不再介绍,直接安装bazel。
按照书上的方法下载bazel二进制文件速度特别慢,因此使用其他方法安装,参考链接https://www.jianshu.com/p/d92913173d5b。
echo "deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8" | sudo tee /etc/apt/sources.list.d/bazel.list
curl https://bazel.build/bazel-release.pub.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get install bazel
更新bazel到最新版本
sudo apt-get upgrade bazel
安装cuda和cudnn(完全按照书上安装)
(1)cuda
cuda要首先安装,从NVIDIA官网https://developer.nvidia.com/cuda-downloads下载对应版本的cuda toolkit文件。此处下载cuda10.1。
下载完成后,进入下载文件所在路径,依次执行下述命令:
sudo -s
dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
sudo apt-get update
sudo apt-get install cuda
执行前两步正常,sudo apt-get update更新时报错
解决办法,从PGP的公钥服务器上下载公钥(wwwkeys.pgp.net或者 subkeys.pgp.net),导入key,最后的key为报错所缺的公钥。
gpg --keyserver wwwkeys.pgp.net --recv F60F4B3D7FA2AF80
gpg --export --armor F60F4B3D7FA2AF80 | sudo apt-key add -
重新执行第3,4行命令,时间较长,耐心等待,结束的时候没有报错就证明cuda安装成功,需要重启计算机生效。
重启后验证cuda是否安装成功,这不是必须的。
cd /usr/local/cuda/samples/
sudo -s
make all
make all需要root权限,所以一定要先执行sudo -s获取root权限,否则会报错,注意编译时间较长,最终显示Finished building CUDA samples。
执行deviceQuery文件会输出GPU相关信息,可执行文件目录/user/local/cuda-10.1/extras/demo_suite。
cd /user/local/cuda-10.1/extras/demo_suite
./deviceQuery
我的电脑终端显示本机所用GPU信息
(2)cuDNN
到NVIDIA官网https://developer.nvidia.com/cuDNN下载cudnn安装包,下载之前需要先注册,注册很简单邮箱就可以,下载的版本需要对应上述cuda10.1的版本,我下载的cudnn-10.1-linux-x64-v7.6.2.24.tgz。
进入下载目录,并运行tar -zxvf命令解压
tar -zxvf cudnn-10.1-linux-x64-v7.6.2.24.tgz
cd cuda
将lib64和include文件夹下的文件复制到CUDA安装目录下的相应文件夹。
sudo cp lib64/libcudnn* /usr/local/cuda-10.1/lib64/
sudo cp include/cudnn.h /usr/local/cuda-10.1/include/
sudo chmod a+r /usr/local/cuda-10.1/include/cudnn.h /usr/local/cuda-10.1//lib64/libcudnn*
书上介绍更新cudnn库的软链接,此处操作失败,但是验证成功显示cudnn版本信息,不知道对后续有没有影响。
参考链接https://blog.csdn.net/qq_32408773/article/details/84112166。
验证cudnn版本:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
安装tensorflow
有两种方法,使用pip安装,从源代码编译安装。
参考链接https://blog.csdn.net/wolaiyeptx/article/details/88960145。
我直接使用清华源镜像pip安装。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu
安装完成后进入python,查看tensorflow版本。
import tensorflow as tf
tf.__version__