本文针对的是Ububtu16.04+1050ti+cuda9.0+cudnn7.0.5+opencv3.1+tensorflow1.9.0+pytorch0.4.0电脑配置过程,亲测有效。如有错误,欢迎留言指正。如果留言没有回复的话,可以直接发邮件15754353506@163.com,咱们共同学习,因为我也是一个菜鸡。
建议在配置环境的时候多读几个教程,找到适合自己的一个,或者自己整合,少走一点弯路。
Ububtu16.04+1050ti+cuda9.0+cudnn7.0.5+opencv3.1+tensorflow1.9.0+pytorch0.4.0电脑配置过程
1. 安装显卡驱动
1)首先可以先把Python的默认改成3(这一步应该是可以不用的,不过每次我都做这一步)
输入下面两条命令:sudo update-alternatives --install /usr/bin/python/ python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python/ python /usr/bin/python3 150
此时就从默认Python就从2切换到3了
如果需要重新切换回Python只需要在终端输入
sudo update-alternatives --config python
然后选择你需要的Python版本,输入序号回车即可
系统很多程序依赖于Python2,如果需要升级系统或者系统安装更新的时候,建议先切换到系统的默认版本的Python2,否则可能出现依赖无法安装的问题。
2)安装依赖包(此步骤当然也可以在安装完cuda之后安装,但是最好在这安装)
依次输入以下指令:
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
如果有超过 两次安装不成功的话,可以运行以下命令之后再运行以上命令(也可在一开始便运行该命令):
sudo apt-get updatedit
此命令的作用是更新下载源
3)禁用系统自带显卡驱动
输入:
sudo gedit /etc/modprobe.d/blacklist-nouveau.conf
打开后在最后一行加上:blacklist nouveau,保存配置文件(如果写第二行:options nouveau modeset=0,可能会造成在安装完显卡驱动后黑屏及重复登录的现象)
输入:
sudo update-initramfs -u
更新配置(重启电脑)
如果输入:lsmod | grep nouveau
之后无输出,则证明已经将nouveau禁用成功。
此时如果重启的话会发现,图形界面显示不正常,这是由于将系统自带的显卡驱动禁用的缘故。
4)安装显卡驱动
重启电脑后,按Ctrl+Alt+(F1~~F6)进入字符界面,输入账号密码登录,账号密码为安装系统时设置的账户密码。
输入:
service lightdm stop
输入密码,等待图形系统关闭
输入:
cd ~ (打开文件位置)
ls (获得文件列表)
输入:
sudo sh NVIDIA.run -no-opengl-files (没有后面一条命令的话会造成安装完显卡驱动后重复登录,不能进入系统,只有禁用opengl这样安装才不会出现循环登陆的问题,只安装驱动文件,不安装OpenGL文件,参考链接为:https://blog.csdn.net/xunan003/article/details/81665835)
然后按照默认按回车就好,唯一的一个例外是Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up. 选择 Yes 继续。
检查驱动是否安装成功:
输入:nvidia-smi
如果输出
以下图片,则安装成功。
至此,显卡驱动安装成功,重启电脑,如果不会出现循环登录或者黑屏的现象,则显卡驱动安装成功
5)安装CUDA9.0
到cuda官网下载适合版本的CUDA,我下载的是9.0,放到Ubuntu系统某一个目录下。
打开文件目录,后,输入:
sudo sh cuda文件名字.run --no-opengl-libs (没有后面的语句的话,也会造成循环登录)
等大约一分钟后,单击回车,一路往下运行,直到提示“是否为NVIDIA安装驱动nvidia-384?”,选择否,因为已经安装好驱动程序了,其他的全都是默认,不过要记住安装位置,默认是安装在/usr/local/cuda文件夹下。
配置环境变量,运行如下命令打开profile文件
sudo gedit /etc/profile
打开文件后在文件末尾添加路径,也就是安装目录,命令如下:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH
输入:source ~/.bashrc (使配置生效)
保存,然后重启电脑
测试CUDA的例子
cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
如果显示的是关于GPU的信息,则说明安装成功了。
注意,如果出现如图所示的文字,是因为缺少相关依赖库,安装一下就好
输入:sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
6)安装cudnn
我选择的是7.5(应该安装7.0.5)
在官网上选择合适的版本后,输入以下命令进行安装
tar -zxvf cudnn-9.0-linux-x64-v7.0.tgz (解压缩文件)
cd cuda (进入文件目录)
输入:
sudo cp lib64/lib* /usr/local/cuda/lib64/
sudo cp include/cudnn.h /usr/local/cuda/include/
然后更新网络连接:(这一步可以不做)
cd /usr/local/cuda/lib64/
sudo chmod +r libcudnn.so.7.0.3 # 自己查看.so的版本
sudo ln -sf libcudnn.so.7.0.3. libcudnn.so.7
sudo ln -sf libcudnn.so.7 libcudnn.so
sudo ldconfig
Cudnn安装完成。
7)安装Anaconda
下载anaconda文件(参考链接https://blog.csdn.net/u012318074/article/details/77074665)
打开文件目录,输入:
bash Anaconda3-4.2.0-Linux-x86_64.sh
根据提示回车,即可。要选择将路径添加到环境中(在路径是否添加那一项要选择YES)此时Ubuntu系统中的Python版本已经是anaconda中的版本。
8)在anaconda中新建环境
输入:conda create -n 环境名字 python=3.6.4(版本)
9)安装pytorch
在pytorch官网上直接选择和你的环境相应的选项,就可以直接生成安装pytorch的命令。
我的是 :conda install pytorch=0.4.0 cuda90 -c pytorch
验证是否安装成功是输入代码
import torch
10)安装opencv
激活环境,输入 :conda install -c menpo opencv3
此时默认安装的是opencv3.1
但是这样直接安装的话版本与所需要的是不同的,需要按照网上的教程进行安装。
11)安装tensorflow
pip install tensorflow-gpu==1.9.0
安装1.8的时候出现错误,所以就直接选择了1.9.安装之后导入没有问题,而且速度比1.8 的速度要快。
如果在安装完成之后导入的时候出现: function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function cvDestroyAllWindows
那么可以使用以下的命令来进行修正
1. conda remove opencv
2. conda install -c menpo opencv(默认是3.1)
3. pip install --upgrade pip (如果pip是最新版,那么就没有必要执行这一步)
4. pip install opencv-contrib-python
这是再次导入,应该就没有什么问题了。
如果在导入tensorflow的时候提示错误:AVX2 FMA的话,就是说明你的CPU不错,这个错误是完可以忽略的,如果想要把它注释掉的话,也是可以的,网上有很多的教程。