前言:原来的1080带不动网络了,所以借用朋友的Tesla K80,不过遗憾的是师兄的一键安装脚本不管用了,所以记录一下自己的配置过程,希望以后不要踩坑。
Ubuntu16.04 + Nvidia + CUDA8.0 + Opencv +Caffe + Tensorflow + Pytorch
Ubuntu16.04的安装
注意Ubuntu的版本:推荐Ubuntu16.04或者Kylin16.04。一开始我是装的enhanced版,出现了某些问题,后面会详细说。至于硬盘什么的,就直接从实验室的机箱里面拆啦(⁎⁍̴̛ᴗ⁍̴̛⁎),注意关闭security boot。
注意事项:如果安装Ubuntu后登陆进去,出现显示界面卡顿,窗口像PPT一样不断一帧一帧的刷新,而鼠标移动显示却很正常,请参考以下解决方案。
出现上述问题,其实不是系统卡机。经过验证,这种一般都是分辨率问题导致的:
# 解决方案:改分辨率
# 打开grub文件
sudo vim /etc/deafault/grub
# 打开GRUB_GFXMODE选项,或者修改为
GRUB_GFXMODE=1024*768
注意去掉选项前面的注释符号 #,分辨率原本为 × 号,建议改成 * 号,反正我用 × 号仍然会导致问题, * 号就不会。如果你没有遇到,那可能是我人品吧ಥ_ಥ。
# 使配置文件生效
sudo update-grub
Nvidia显卡驱动安装
对的,没错,最坑的就是这个,相信装过的人就知道这是一个大坑!所以我决定写的废话一点,详细说一下安装过程步骤的几大坑!
1.禁用草根驱动nouveau
我一直很好奇系统自带的驱动怎么了,非要禁用他,心疼。但是他跟Nvidia冲突了,对不起,我...只能向邪恶势力低头了...
不要听信网上乱七八糟的改blacklist.conf的方法,真的是欺骗我的感情。不喜欢nouveau,就请直接了当的移除他好嘛,改来改去他不难过嘛!!!
# 移除并备份驱动,注意文件路径
cd /lib/modules/4.4.0-21-generic/kernel/drivers/gpu/drm/nouveau
mv ./nouveau.ko ./nouveau.ko.bak
# 重新加载
update-initramfs -u
2.下载Nvidia驱动
注意事项:一定要选择run版本,不怕循环登录问题的大可以安装deb(微笑)
注意产品类型以及CUDA版本对应,更重要的是,一定要下载run版本!run版本!run版本!重要的事说三遍~~另外,Tesla K80的驱动有一个坑,只有选择操作系统为:Linux 64-bit,才是run版本,选择Ubuntu的话,就是deb版本,害的我找了好久。
# 进入文本模式
Ctrl+Alt+F1
# 关闭桌面服务
sudo service lightdm stop
# 安装驱动,定位到驱动所在路径,建议之前就放在home目录下
sudo ./NVIDIA-Linux-x86_61-384 --no-x-check --no-nouveau-check --no-opengl-files
# 重启计算机reboot,查看是否安装成功
nvidia-smi
3.可能会出现的问题
OK,如果你能成功安装,并且重启之后能正常登陆,请感谢我(害羞),如果不能请参照下面我踩过的两个坑。
问题1:安装过程中出现 ERROR :an error accurred while performing the step:building kernel modules
出现这个问题是因为Nvidia显卡驱动不适应Linux的内核版本造成。这就是笔者一开始说的建议安装Ubuntu16.04而不是其他版本的原因,enhanced版本虽然不会出现上述的分辨率PPT问题,但可能会报如上的错误。
解决方案1:去Nvidia官网下最新驱动
解决方法2:换系统版本:建议Ubuntu16.04
对于Tesla K80的显卡驱动,笔者只找到这个run版本,你大可以安装deb版本,只要你觉得自己天赋点点够了,不怕循环登陆(再次微笑)。对于其他显卡驱动,视情况而定,不过还是建议run版本。所以最简单的还是方法2啦(摊手)。
问题2:安装完成重启后,循环登录
这个问题就很司空见惯了,如果用deb驱动版本的小伙伴遇到了这个问题,我只能说:不听老人言(哈哈哈)。究其原因,是因为安装的过程中,没有禁止opengl。deb版本是一键自动安装,所以没有选项,而run版本可以避免这个问题,加上选项参数,即:
--no-x-check --no-nouveau-check --no-opengl-files
请注意在出现上述问题重装驱动的时候,先要完全卸载原先的Nvidia显卡驱动。
sudo apt-get remove nvidia-*
sudo nvidia-uninstall
CUDA 安装
这个就很easy,也不会出什么问题,请自行官网下载run版本CUDA安装包。
# Ctrl + Alt + F1 进入文本模式
# 关闭图像界面服务
sudo service lightdm stop
# 安装Cuda,建议安装包先放在home下
sudo sh cuda_8*.run --no-opengl-libs
之后等到出现0%之后,长按空格增长到100%阅读完毕,按照提示安装完成,reboot重启计算机即可。注意跳过Nvidia驱动安装,一般情况下来讲,自带的驱动安装总会出问题(滑稽)。
# 打开配置文件
sudo gedit ~/.bashrc
# 在末尾加入
export PATH=/usr/local/cuda-8.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
# 保存更改,刷新使配置生效
source ~/.bashrc
OpenCV安装
一行命令解决问题,好奇为什么那么多人说要编译。。。
# python2.7
pip install opencv-python
# python3
pip3 install opencv-python
pip换源
如果上述pip的时候速度太慢,或者在安装python其他库的时候速度根本上不去,这时候就换个源吧,速度飞起!从104k/s到3M/s的快感ψ(`∇´)ψ
方法1:conf文件配置
sudo mkdir ~./pip
sudo vim ~./pip/pip.conf
# 写入如下的阿里云配置
[global]
index-url=http://mirrors.aliyun.com/pypi/simple
[install]
trusted-host=mirrors.aliyun.com
方法2 :pqi切换:简单方便
# 下载qpi模块
sudo pip install pqi
# 查看可使用源
pqi ls
# 切换源
pqi use aliyun
apt 换源
感谢室友提供给我的脚本,清华源——给你飞一般的感觉╮ ( ̄ 3 ̄)
# sh脚本文件内容如下
cp /etc/apt/sources.list /etc/apt/sources.list.back
echo "
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
" > /etc/apt/sources.list
apt-get update
Caffe 安装
caffe 安装包已经备份到百度云,推荐离线安装。
链接: https://pan.baidu.com/s/1kB5bMgEygd3duWNK-V0T2Q 密码: xq5t
一键安装脚本如下,造福小伙伴,请自建shell文件,内容如下:
# config
CAFFE_INSTALL=~
sudo apt-get install -y cmake
sudo apt-get install -y libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev libhdf5-serial-dev
sudo apt-get install -y libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-date-time-dev libboost-atomic-dev libboost-python-dev
sudo apt-get install -y libgflags-dev libgoogle-glog-dev protobuf-compiler liblmdb-dev libatlas-base-dev doxygen
sudo pip install scikit-image
tar -zxvf caffe.tar.gz
CAFFE_ROOT=$CAFFE_INSTALL/caffe
mv caffe $CAFFE_INSTALL/
cd $CAFFE_ROOT
mkdir build
cd build
cmake ..
#make -j $(($(nproc) + 1))
make -j 4
make install
echo "export PYTHONPATH=$CAFFE_ROOT/build/install/python:\$PYTHONPATH" | sudo tee -a /etc/profile
Tensorflow 安装
tensorflow 安装包已经备份到百度云,推荐离线安装。
链接: https://pan.baidu.com/s/16KSir54pg4VMIpMkuOVNrQ 密码: a4rp
脚本内容如下:
sudo pip install tensorflow_gpu-1.4.0-cp27-cp27mu-manylinux1_x86_64.whl
pip install scipy
pip install h5py keras
Pytorch 安装
Pytorch 官网下载即可,检查Python和Cuda对应的版本,安装命令如下:
sudo pip install torch-0.3.0.post4-cp27-cp27mu-linux_x86_64.whl
sudo pip install torchvision
Pycharm 安装
我觉得Pycharm挺好用的,分享一下百度云链接,造福小伙伴:
链接: https://pan.baidu.com/s/1fiEfUW1s-w7jvslF-IHxvw 密码: d7kp
还是一键安装脚本,自建shell文件哦,脚本如下:
# install pycharm
tar -xf "pycharm-community-2017.3.3.tar.gz"
rm -f ~/.local/share/applications/jetbrains-pycharm-ce.desktop
sudo mv pycharm-community-2017.3.3 /opt/
sudo ln -s -f /opt/pycharm-community-2017.3.3/bin/pycharm.sh /usr/bin/pycharm
# run pycharm
pycharm
到这里,深度学习框架就安装完毕啦,so easy。在这里强推Pytorch,超好用!
什么,你问我为什么要强推Pytorch?naive,难道你不知道贾大神已经说了caffe2要并入Pytorch嘛!!!(手动斜眼)
刚起步博客小白一只,请多多指教。加班太晚了,先回去休息,日后(字面意思)有空再更新。