显卡买来装上去花了半小时,tensorflow-gpu环境从头搭建花了整整一天,坑太多了。。。。。。
这里总结一下安装的过程,不然这一天白花了,也给大家做个参考!
因为在CPU上训练模型的速度太太太太慢慢慢慢了,特意在某东上买了张 万图师1660显卡,所以需要搭建tensorflow-gpu 2.0.0的环境。
我在这里重装了自己的台式机系统,最终的软硬件参数如下:
CPU:i5-8500
显卡:MSI 万图师 GeForce GTX 1660 VENTUS XS C 6G
内存:16G
OS: Ubuntu 18.04.2 LTS
显卡驱动:440.33.01
CUDA:V10.0.130
CUDNN: 7.6.4
Tensorflow-gpu:2.0.0
这一步直接忽略,拿个U格式化一下;然后直接将OS镜像的内容拷贝到U盘中;U盘插入PC机,电脑设置为UEFI引导启动重装
2.1 设置系统的软件源为阿里云
2.2 必要的一些环境软件
sudo apt-get install -y vim build-essential cmake git unzip zip python3-dev python3-pip
查看当前系统中nouveau驱动,有打印说明系统中已经加载nouveau驱动
lsmod | grep nouveau
在 /etc/modprobe.d/blacklist.conf 文件尾添加屏蔽该驱动的命令
blacklist nouveau
options nouveau modeset=0
执行如下命令,最终执行 lsmod | grep nouveau 没有任何打印,说明nouveau驱动已经屏蔽卸载了
sudo update-initramfs -u
sudo reboot
lsmod | grep nouveau
这里说明一下,在现在的CUDA中已经包含了NVIDIA显卡的驱动了,所以我们只需要下载CUDA软件就行了,不用单独安装NVIDIA显卡驱动。
我这里安装的软件都是选择最新的,除了CUDA,因为tensorflow要求CUDA10.0,其他都不行,tensorflow中会报相关库找不到
但是我们要安装最新的显卡驱动,就要选择CUDA最新版,CUDA安装包安装过程中 中可以选择只安装显卡驱动就好了。
下载最新版的cuda官网:https://developer.nvidia.com/cuda-downloads
wget http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run
sudo ./cuda_10.2.89_440.33.01_linux.run
安装过程中我们先选择 accept
然后在选项中仅仅选择安装NVIDIA 显卡驱动,选择INSTALL安装
最终安装完成如下:
我们可以看到显卡驱动的那个已经安装完成,其他的均没有安装
重启机器即可,我们可以看到电脑的分辨率已经正常了
执行
nvidia-smi
只要看到有 Driver Version: 440.33.01 即可
下载CUDA-10.0的网址:https://developer.nvidia.com/cuda-10.0-download-archive
sudo ./cuda_10.0.130_410.48_linux.run
安装过程中具体选择如绿框所示
这里的第二步安装显卡驱动选择 n(因为我们在第4步已经安装了最新的显卡驱动了,这里就不需要重装,这里我只想安装里面的cuda-10.0
接下来 其他选择 y 和 直接回车
最终安装显示如红框所示,显卡驱动未安装,cuda-10.0已经安装完成
最后还提示了需要设置系统的环境变量
在 /etc/profile 文件尾添加
export PATH=/usr/local/cuda-10.0/bin:$PATH
在/etc/ld.so.conf 文件尾添加
/usr/local/cuda-10.0/lib64
最终重启PC机即可
执行
nvcc -V
可以看到 cuad-10.0版本已经安装完成了,接下来安装cudnn
下载cudnn的官网如下:https://developer.nvidia.com/rdp/cudnn-archive
选择适合CUDA10.0版本的cuddnn,这里直接使用的是最新版的cudnn-7.6.4版本
下载好的四个文件如下:
cudnn-10.0-linux-x64-v7.6.4.38.tgz
libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb
libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb
libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb
安装步骤如下:
#解压cudnn包
tar xvf cudnn-10.0-linux-x64-v7.6.4.38.tgz
#拷贝解压后的cuda文件夹里的文件
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
#安装cudnn 相关deb文件
sudo dpkg -i libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb
#查看安装完成后的cudnn版本
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
这一步安装结束
首先我们需要配置一下pip3的软件源为清华镜像源
#在 .config文件夹里创建pip文件夹
mkdir ~/.config/pip
#创建并修改 pip.conf
sudo vim ~/.config/pip/pip.conf
#在里面添加如下
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
#更新pip3源
sudo pip3 install --upgrade pip
根据tensorflow官网的安装教程:https://www.tensorflow.org/install/gpu
#安装最新稳定版
sudo pip3 install tensorflow-gpu
安装过程中会出现相关工具的报错导致安装失败,例如:
ERROR: google-auth 1.10.0 has requirement setuptools>=40.3.0, but you'll have setuptools 39.0.1 which is incompatible
那我们根据报错打印安装更新对应的工具版本,具体如下命令:
sudo pip3 install --upgrade setuptools
sudo pip3 install launchpadlib
sudo pip3 install tensorflow-gpu
最终大功告成,安装成功且最后面会打印当前安装的tensorflow-gpu版本!!!
执行python3 进入python命令行运行环境
>>> import tensorflow as tf
>> tf.__version__
>>> tf.test.is_gpu_available()
运行第一行成功说明tensorflow 已经成功安装
运行第二行查询当前安装的tensorflow版本号,前面安装完成后也会显示
运行第三行最后会打印 True,说明成功安装 tensorflow-gpu版本,可以去开心的玩耍,妈妈再也不用担心我训练模型等到地老天荒了。。。。。: )
附:
本文有部分参考了如下博客,感谢大家:
https://anonym.blog.csdn.net/article/details/99604468
https://blog.csdn.net/Adieu_csdn/article/details/100081738
https://blog.csdn.net/made_in_china_too/article/details/88562329