请先阅读这篇Ubuntu16.04+1080ti+cuda9.0+cudnn7.04+tensorflow1.6配置,我相信会对你有帮助的。
由于在Ubuntu17.04+1080ti+cuda9+cudnn7+tensorflow1.4/1.3配置后,工作过程中出现了一些问题,比较好的做法是等待tensorflow1.5的发布,但是我没有时间去等QAQ。所以重装系统,QAQ。
和之前装机的方法一样,只是这里的系统是ubuntu16.04。系统安装好后,我们修改源。好,第一个坑出现了。
无线网卡驱动
装好系统后,无线网卡无法使用(主要是我这里有线需要拨号上网,对就是这么的原始QAQ,dsl一直出问题)
我的网卡型号是Killer Wireless-AC 1535下载驱动
sudo dpkg -i linux-firmware*.deb
sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci
下载软件仓库信息失败
我尝试着去更换源,确实在有的源解决了这个问题,但是我不推荐你这么去做。我这里希望我的源是aliyun
,但是它一更新后就会出现下面的问题。
*** Error in `appstreamcli': double free or corruption (fasttop): 0x0000000001549c80 ***
解决方法
sudo apt-get purge libappstream3
sudo apt-get update
安装显卡驱动
我推荐你先安装vim
,因为我觉得vi
不怎么好用
sudo apt-get install vim
接着去禁用nouveau驱动(这是一个开源的驱动,对nvidia显卡不支持)
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
在后面添加
blacklist nouveau
接着更新一下
sudo update-initramfs -u
修改之后需要重启系统。
重启后可以使用以下命令:
lsmod | grep nouveau
如果什么都没有的话,禁用成功。我这里要说的是,大家都这样做了,所以我这样做了,但是如果不禁用会不会有问题,我不知道(有人说没问题)。
先进入文本模式(Ctrl+Alt+F1),接着使用这条指令,添加一个源
sudo add-apt-repository ppa:graphics-drivers/ppa
关闭图形化窗口
sudo service lightdm stop
先更新一下,因为我们添加了一个源
sudo apt-get update
使用这个命令下载安装驱动(我的显卡是1080ti所以使用381,没有使用384,很多人说这个有问题,不想再被坑了)
sudo apt-get install nvidia-381
这次安装的过程中出现了这样的一个问题
pcie bus error
先恢复图形环境
sudo service lightdm start
Ctrl+Alt+F7进入图形界面
sudo vim /etc/default/grub
将其中的
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"
然后更新
sudo update-grub
,后重启电脑。
接着按照之前的步骤安装驱动就可以了,很高兴的是,这次并没有像Ubuntu17.04那样出现下载出错的问题。
装好后,恢复图形环境
sudo service lightdm start
Ctrl+Alt+F7进入图形界面,关机。
将独立显卡插上,将视屏线插在独显上,开机,这个时候你会发现,系统可以打开了,不再是黑屏。
进入系统后,输入下面指令
nvidia-smi
如果没有出现报错,那么恭喜你ubuntu装好了。
安装pip
接着我们要先安装pip源
sudo apt-get install python-pip
接着cd到根目录,使用
ls -la
这个时候应该可以看到.config
文件夹,进入这个文件夹(cd .config
),建立一个pip文件夹(mkdir pip),进入pip文件夹(cd pip),接着建立pip.conf
文件(vim pip.conf),按i(表示输入文本)输入以下内容
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
输入:wq
(保存并退出)。
以上步骤是要修改pip的源,这样安装会更加的快。
安装cuda8
下载好cuda8的.run
文件,注意这里不要下载.deb
文件(据说有坑),应该是两个文件,其中一个是补丁文件。
使用下面指令安装
sudo ./cuda_8.0.61_375.26_linux.run
这个安装的过程没有什么困难的,唯一一个要注意的地方就是在选择安装驱动时,选n
装好后打上补丁
sudo ./cuda_8.0.61.2_linux.run
我这里的samples文件是在home文件夹下(各位可能是在/usr/local/cuda-8.0/
下)
现在桌面建立一个文件夹test,进入test文件夹(cd test)。使用下面的命令,将cuda例子文件复制进去
cp -r /home/nvidia_samples/ .
进入samples文件夹(cd samples),输入指令make -j
,进行编译,编译要花一点时间。
编译好后切换到release文件夹
cd ./bin/x86_64/linux/release
执行下面指令
./deviceQuery
查看最后结果,如果是Result = PASS
,那就ok。
接着cd到根目录。编辑.bashrc文件
(vim .bashrc,不过新装的系统好像没有这个文件,没有的话跳过这步),在文件结尾添加下面的语句
#cuda8.0
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda
输入:wq
(保存退出)。接着在命令窗口输入source .bashrc
,让文件生效。
安装cudnn6
推荐安装cudnn6,不要安装cudnn7
接着去官网下载cudnn6安装文件,但是好像最近无法下载了,我有时间会上传一份。(需要的同学留言,我发给你)
下载好后输入下列指令将相关文件拷贝到cuda安装目录下即可。
tar -zxvf cudnn-8.0-linux-x64-v6.0.tgz
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
sudo cp -a cuda/lib64/libcudnn* /usr/local/cuda/lib64/
sudo chmod a+r /usr/local/cuda/include/cudnn.h
sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
注意上面第二条指令,这里多加了一个-a
,在官方给的方案里面没有,我建议你这样做,否则会出现连接出错的问题。
安装tensorflow1.3
接着我们开始安装tensorflow1.3,在此之前,先安装一个libcupti-dev
库
sudo apt-get install libcupti-dev
接着如果使用
sudo pip install tensorflow-gpu
会安装tensorflow1.4的版本,我觉得如果你是使用cuda8的用户,我推荐你去安装tensorflow1.3。
sudo pip install tensorflow-gpu==1.3
装好后我们在python中(命令窗口输入python)测试一下
import tensorflow as tf
如果没有报错的话,就可以了。