各位观众,大家好,我是渣渣超,如果您看的起我,可以称呼我一生超哥,自我介绍完毕,话不多说,进入正题:本文是讲述基于ubuntu的tensorflow配置。
安装环境:
软件: 硬件:
ubuntu:16.0.4 裸机 cpu:i5
python:3.5 Gpu:NVIDIA-gtx1060
GCC: 5.4
CUDA:8.0
CUDNN:6.0
tensorflow:1.4.0(编译好的)
看到这里如果你发现我的安装环境和你一样,这也是一种缘分,如果不一样为了保证最快,最好的安装成功,建议读者有限参考和你版本相同的的作者写的文章,这样可以最快的安装好你需要的环境,如果你没有找到相应的版本,那么我相信本文对你来说,也是不错的选择。
最后我要强调一下:
笔者再经过几次尝试之后,最终建议大家从裸机开始安装,也就是重新安装一次ubuntu16.0.4系统,然后在配置相关环境。
第一部分 :cpu tensorflow安装
1.按住CTRL+ALT+T打开命令行:输入python可以查看默认的python版本:ubuntu系统一般集成多个版本python解释器:默认的一般是python2.7.0,通过下面的命令更改默认版本python:
sudo ln -sf /usr/bin/python3.5 /usr/bin/python
2.安装对应python的pip:
sudo curl https://bootstrap.pypa.io/get-pip.py | python
3.安装cpu-python
sudo pip install tensorflow
第二部分 :禁用系统自带显卡驱动
CUDA下载地址:https://developer.nvidia.com/cuda-downloads
‘InstallerType’这个选项一定要为runfile(local)文件
进入下载页面,点击Legacy Releases 可以选择具体版本的CUDA。
建议:提前下载,然后在执行下面的操作
1.安装依赖库:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libopenblas-dev liblapack-dev libatlas-base-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get install git cmake build-essential
2.检查系统内核版本,按转对应版本的kernel header和开发包,安装内核源码:如果不安装会出现 unable to locate the kernel source 错误
uname -r
sudo apt-get install linux-headers-$(uname -r)
apt search linux-source
sudo apt install linux-source-4.13.0
3.禁用系统自带的nouveau显卡驱动:不然无法安装后面的NVIDIA显卡驱动
sudo apt-get install vim
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在打开的文件中添加以下两行代码:(vim操作 先按 ‘i’键)
blacklist nouveau
options nouveau modeset=0
注:按‘Esc’退出插入模式,按‘shift+;’进入命令行模式,按 ‘w’‘q’保存文本并退出
更新一下文件:
sudo update-initramfs -u
4.安装32wei依赖库:
sudo apt-get update
sudo apt-get install libc6:i386
第三部分:安装CUDA
注:
1.有的文章中提到,应该就系统的GCC编译器降至4.9版本,笔者亲测没有必要降低GCC编译版本,而且降低GCC编译器版本后,再按转CUDA的时候,系统会显示ubuntu内核编译版本核当前所用GCC版本不兼容。需要GCC5.4版本。因此不需要降级。
2.在安装CUDA之前应该将系统自带的nvidia驱动卸载,因为作者是重装系统,重装系统不会自动集成nvidia驱动,因此没有这一步骤
3.也可以先安装NVIDIA驱动,在安装CUDA,笔者是这么操作的,但是这样在安装CUDA的时候会比较麻烦,而且CUDA集成NVIDIA显卡驱动,因此建议大家直接通过CUDA来安装显卡驱动。
4.这里解释一下上面第二点核第三点看起来有点矛盾,其实不矛盾,第二步是为了卸载旧版nvidia驱动然后在安装最新版的nvidia驱动。
正式安装
1.关闭x-window系统,安装lCUDA需要在纯文本模式下进行,窗口界面无法操作
sudo service lightdm stop
可以通过 sudo service lightdm start
来启动xwindow
在纯文本界面需要输入用户名以及密码,注意此时数字小键盘不可以用。
2.找到官网下载的.run文件(通过cd命令),注意将文件存放在没有中午路径的文件夹下面,中文路径,无法在纯文本模式下输入(不要放在tmp文件夹下面,tmp文件夹下的文件有可能会自动清理)运行.run文件进行安装,在安装的时候选择安装路径,尽量采用默认路径。安装的时候有个选项,是否安装CUDA sample,建议大家安装,后面可以用来检测CUDA安装是否正确。
bash *.run
如果文件夹下面只有一个.run文件,可以执行上述命令,不然需要添加文件全名。
3.安装的过程中绘执行一些选择,大家根据自己的需求进行决定。如果安装过程中提示阅读保证书,大家可以按q键,这样会直接从0%跳至100% ,屏幕中出现 ok等按键可以通过 Tab按键来选择。安装完成,重启电脑。
4.打开命令行:通过以下命令检查是否输入成功。
nvidia-smi
nvidia -settings
安装成功可以看到以下界面
输入命令
ls /dev/nvidia*1
会显示:
/dev/nvidia0 /dev/nvidiactl /dev/nvidia-uvm
5.添加环境变量:安装的时候采用默认路径,需要添加下面的环境变量:
sudo gedit ~/.bashrc
export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-8.0/lib64:/usr/local/cuda-8.0/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-8.0
source ~/.bashrc
6.通过安装的sample检验安装时否合格:如果安装的时候采用默认路径,操作如下:
cd /usr/local/cuda-8.0/samples/
sudo make
会编译很长一段时间
cd /usr/local/cuda-8.0/samples/bin/x86_64/linux/release
./deviceQuery
根据运行结果,即可判断CUDA安装是否正确。
第四部分 :安装CUDNN
CUDNN下载地址:https://developer.nvidia.com/rdp/cudnn-download
下载CUDNN需要先注册然后填写一个调查问卷,调查问卷填写完之后,就可以下载。
1.下载的是一个压缩包 CUDNN(版本号)Library for Linux 执行如下命令
tar -xvzf cudnn-8.0-linux-x64-v5.1.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda-8.0/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda-8.0/lib64
sudo chmod a+r /usr/local/cuda-8.0/include/cudnn.h
/usr/local/cuda-8.0/lib64/libcudnn*
第五部分 :安装tensorflow-GPU版
输入命令
sudo pip install tensorflow-gpu==1.4
注:tesorflow-gpu的版本和CUDNN有关,因此选择的时候要注意这一点,CUDNN的版本和CUDA有关。
验证安装:
python
import tensorflow as tf
在终端输入这两条指令没有提示错误,安装正常。