tensorflow深度学习服务器环境搭建
实验室新进了一台服务器,配置了nvida 1080TI显卡做深度学习使用,装好机器后第一件事就是如何配置好tensorflow的深度学习环境,这里把我在搭建环境的过程以及遇到的坑一一写下来,给有同样需求的筒子提供一些帮助。 操作系统是师兄刻好的ubuntu最新版本Ubuntu 18.04.1 LTS (可使用lsb_release -v查看),这种事当然第一件事就是谷歌了,发现一条setup-an-environment-for-machine-learning-and-deep-learning-with-anaconda-in-windows,接下来就是按照提示一步一步进行就是了。
搭建过程一共分为5步
- 下载 Anaconda
- 安装 Anaconda; Python(ubuntu自带python3)
- 更新 Anaconda
- 安装 CUDA & cuDNN(cudnn不需要自己装)
- 安装TensorFlow & Kera
- CUDA版本切换(如果正常装好不需要)
1,2,3步都是常规且比较简单就可以完成的事情,这里就简单说一下了,
1.下载 Anaconda
到anacoda下载linux版python3.7版本,服务器是ubuntu18,所以下载的是python3.7版本
2.安装 Anaconda & Python(ubuntu自带python3)
bash Anaconda3-5.3.1-Linux-x86_64.sh
跟着提示就可以顺利安装了安装了,如果你向我一样使用zsh作为默认shell的话,所以需要将.bashrc下的anaconda安装时自动添加的以下代码
复制进.zshrc文件末尾,source ~/.zshrc完成调用,终端输入conda看到帮助说明装好了
3.更新anaconda
在终端输入以下命名更新conda
conda update conda
conda update --all
4.安装 CUDA & cuDNN
重点在于CUDA的安装以及cudnn的安装,在这一步我可是吃尽了苦头
这里我直接把正确的做法告诉大家
首先到英伟达开发者网站下载相应显卡的cuda9.0版本,这里由于tensorflow只能使用9.0(强调,官网默认是10.0版本的0-0这里就被坑了一圈)
下好cuda之后就简单了
sudo dpkg -i cuda-repo-ubuntu1704-9-0-local_9.0.176-1_amd64-deb
sudo apt-key add /var/cuda-repo-9-0-local/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda
安装好后,需要降低gcc版本,添加环境变量,使用以下命令完成
sudo apt install gcc-5 g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64:/usr/local/cuda/extras/CPUTI/lib64
export CUDA_HOME=/usr/local/cuda-9.0/bin
export PATH=$PATH:$LD_LIBRARY_PATH:$CUDA_HOME
cudnn安装
需要navid注册账号,然后下载runtime和develop两个deb包并且安装,安装命令直接使用dpkg
sudo dpkg -i libcudnn7_7.0.5.15-1_cuda9.0_amd64.deb
sudo dpkg -i libcudnn7-dev_7.0.5.15-Bcuda9.0_amd64.deb
sudo dpkg -i libcudnn7-doc_7.0.5.15-1+cuda9.0_amd64.deb #可选
5.安装TensorFlow; Keras
直接使用anaconda安装就可以了
conda install -c anaconda tensorflow-gpu
conda install -c conda-forge keras-gpu
这里后面接-gpu说明安装的是gpu版本,不带的话就是cpu版本的了,由于服务器配置了显卡,当然下载gpu版本以发挥显卡的优势
6.CUDA版本切换(如果正常装好不需要)
通过使用
python -c "import tensorflow as tf;"
查看tensorflow环境是否建好,
提示错误 搜索后发现是cuda的问题,使用ldconfig -v可以看到找不到libcublas.so.9.0,这是cuda9.0里面的,而我一开始安装的是最新版的cuda10,所以这里被坑了一波。。。
那么就需要卸载cuda10了
sudo apt-get remove cuda*
sudo apt remove --purge nvidia*
rm /etc/apt/sources.list.d/cuda-10-0-local-10.0.130-410.48.list
sudo apt autoremove
sudo rm -rf /var/cuda-repo-10-0-local-10.0.130-410.48
sudo rm -rf /usr/local/cuda*
都跑一遍再来重新安装应该就好了,这里再次使用‘python -c “import tensorflow as tf;“命令就可以发现没有报错了。接下来使用下面查看成功安装后的tensorflow gpu版本。可以看到1080ti已经成功被tensorflow识别了。
from tensorflow.python.client import device_lib
local_device_protos = device_lib.list_local_devices()
总结一下
本文介绍了搭建tensorflow深度学习环境的过程,从anaconda安装到cuda,tensorflow-gpu的安装以及遇到的最大的坑,就是cuda官网上默认是最新版的cuda10,而由于tensorflow gpu版本目前并不支持cuda10,只识别cuda9.0,在没有安装cuda9的机器上使用会直接报错,不得不重新卸载cuda10,安装cuda9,安装好后tensorflow就可以正常使用了
- 原文作者:春江暮客
- 原文链接:https://www.bobobk.com/70.html
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。