Tensorflow学习过程中有些代码在windows下运行会有许多问题,ubuntu系统还是得用。开始的时候为了跑通代码,就在虚拟机里面安装了一个Ubuntu16.04,但是这样GPU无法使用,只能用CPU版的tensorflow运行程序,最近在跑一个图像语义分割的训练代码,用i7-8700跑一天特么的才走了4000多次,10万次的话就奔着1个月去了,这可不行,物理机装上Ubuntu,鼓捣一番,GPU终于用起来了,用上了RTX2080ti,速度提高了50-80倍。网上教程参差不一,老是掉坑了,还是按照官方给的方法来装。
关键步骤奉上
1.下载CUDA9.0
一般的英伟达显卡用CUDA9.0就好了,要是RTX2080ti,去这里看看。
CUDA的下载地址:
https://developer.nvidia.com/cuda-toolkit-archive
选项如下,注意选deb的
下载完之后再怎么办呢?比如我 在 /home/macunshi下新建了一个文件夹,命名为CUDA,然后把下载的CUDA9.0拷贝到这个文件夹下,在命令窗口输入指令定位到刚才的文件夹:
cd /home/macunshi/CUDA
然后输入以下指令进行安装,其实在刚才下载CUDA9.0的界面下就有安装指导,我也贴一下命令:
sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb`
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub`
sudo apt-get update`
sudo apt-get install cuda`
第二个命令可能无效,不用管它,四条命令后说找不到什么东西,就双击这个deb文件,点击安装,然后再重新执行一遍这4条命令,第一条命令执行完毕会提示你第二条命令的语句,直接复制粘贴执行。在输入命令看看是否安装成功。
nvidia-smi
2.安装cuDNN
到这儿https://developer.nvidia.com/cudnn去下载对应CUDA9.0版本的cuDNN,下载图中标注的三个文件。
然后把文件同样放到CUDA文件夹下,再次从命令窗里定位到该文件夹,然后输入以下命令进行安装。
sudo dpkg -i libcudnn7_7.4.1.5-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.4.1.5-1+cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.4.1.5-1+cuda9.0_amd64.deb
然后在用以下代码进行验证是否安装成功:
cp -r /usr/src/cudnn_samples_v7/ ~
cd ~/cudnn_samples_v7/mnistCUDNN
make clean && make
./mnistCUDNN
安装成功下面会出一大片东西,最后是Result of classfication:1 3 5这样的结果。
3.python的处理
Ubuntu16.04自带python3.5和python2.7,如果在命令窗里输入python,就会进入python2.7,如果在命令窗里输入python3或者python3.5,就会进入python3.5。我觉得python3.5就可以了,就没有升级python3.6。你要是想用某一个python版本,要确保输入python3后能进入到相应的版本。
接下来我们安装pip,更明确的说是pip3。输入指令:
sudo apt-get install python3-pip
然后输入pip3 -V查看一下版本,一定要检查确认该pip从属于python3.5,也就是你想要用的那个python版本,否则后面安装的一些库都是别的python版本的,你要用的python版本就调用不了了。
然后在输入:
pip3 install tensorflow-gpu
等待安装完毕,之后可能提醒你权限不够,就在命令后面加上--user再运行一遍就可以了。
如果你想安装指定版本的tensorflow,比如1.10.0版的,可以这么写:
pip3 install tensorflow-gpu==1.10.0
尝试调用tensorflow,输入:
python3
import tensorflow as tf
tf.__version__
能正确打印tensorflow的版本号,大功告成。