博主是在笔记本上装的,在原有win10的情况下装的双系统ubuntu18.04+windows10。笔记本是双显卡,独显为gtx960m。
#####################################################################
##################(原创不易,转载请注明 且附本文链接。)##################
#####################################################################
一. 双系统的安装 另写一文,本文主要写装好之后的环境配置
二.安装妥系统之后,首先将ubuntu的显卡切成独显。
首先输入 下列命令查看 独显 以及 对应的驱动。
$ ubuntu-drivers devices
输出如下,本机独显为960m, 对应驱动为 390.
#输出
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
vendor : NVIDIA Corporation
model : GM107M [GeForce GTX 960M]
driver : nvidia-driver-390 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
接下来,安装显卡驱动
#安装系统推荐驱动,及上图中 recommended的 驱动
$ sudo ubuntu-drivers autoinstall
#或 安装指定的驱动(可能存在 有多个驱动的情况)
$ sudo apt install nvidia-390
安装好之后,可通过 #通过 下列命令 查看 显卡信息
$ nvidia-smi
$ nvidia-smi
#输出
Fri Aug 31 21:13:01 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.48 Driver Version: 390.48 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 960M Off | 00000000:01:00.0 Off | N/A |
| N/A 48C P0 N/A / N/A | 203MiB / 4046MiB | 7% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1780 G /usr/lib/xorg/Xorg 99MiB |
| 0 1994 G /usr/bin/gnome-shell 102MiB |
+-----------------------------------------------------------------------------+
如图及为安装成功。
或者 通过命令
$ nvidia-settings
打开 nvidia 设置 来查看,如下图则为安装成功。
其中,你可以在 prime profiles 处 切换你的显卡。
至此,显卡驱动完成,ubuntu18.04 也已经切换到 独显。
三.cuda安装。
1.cuda下载
你可以根据自己的gpu型号 来查找对应的cuda版本。
这里安装的是 cuda9.0
首先,去https://developer.nvidia.com/cuda-toolkit-archive下载cuda
到了这步的时候莫慌,虽然现在cuda 只支持 17.04 与16.04下安装,但是 其实在 18.04下也是可以的。这里我选的是 16.04。选择本地下载安装。需要注意的是,下面的文件都需要下载,第一个相当于是主文件,后面的相当于是他的补丁。(其实这里博主没有下载最新的9.0版本,还是使用之前下载好的版本,所以会有些许出入,最新的9.0相较之前多了一个补丁文件,但这并不影响安装)。
下载好以后,我们开始安装。
2. gcc g++ 降级
首先,将gcc 与 g++降级。CUDA 9.0仅支持GCC 6.0及以下版本,而Ubuntu 18.04预装GCC版本为7.3
cuda9.2的不需要gcc降级。(tensorflow现在还是不支持9.2,用tensorflow的兄弟就别折腾了,老老实实改就行)
先安装 4.8版本的gcc g++
sudo apt-get install gcc-4.8
sudo apt-get install g++-4.8
更改gcc g++
###进到目录 /usr/bin下
cd /usr/bin
sudo mv gcc gcc.bak #将原本的gcc链接文件备份
sudo ln -s gcc-4.8 gcc #将gcc指向4.8版本
#同样的 g++也需要做同样的工作
sudo mv g++ g++.bak
sudo ln -s g++-4.8 g++
查看是否成功
#查看gcc版本
gcc -v
#打印出一堆东西不用管,只需要看 这句 是不是 gcc版本 指向4.8就行
gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8)
#同理,g++也是
g++ -v
gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu8)
(此处不用怀疑,打印的是gcc 4.8 就对呢)
3.安装cuda
进到你 cuda的下载目录。(由于版本不同哈,补丁数不一定,我这里按我三个说,四个同理,挨着安装即可)
首先,先安装主文件
cuda_9.0.176_384.81_linux.run
因为之前我们已经把 显卡驱动调妥了,所以这里 不需要安装显卡驱动,除了这个之外,均选y或者 默认即可。
然后依次安装补丁(按顺序,按顺序,按顺序)
sudo sh cuda_9.0.176.1_linux.run
sudo sh cuda_9.0.176.2_linux.run
sudo sh cuda_9.0.176.3_linux.run
#声明是真心长,慢慢按吧
然后,我们将cuda加入环境变量中。
安装完毕之后,将以下两条加入.bashrc
文件中.
sudo gedit ~/.bashrc
在文件中,加入
export PATH=/usr/local/cuda-9.0/bin${PATH:+:$PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
这里(如果你装的是其他版本,需要注意更改。)
至此,cuda安装完成。
四.cudnn安装
cudnn下载地址:https://developer.nvidia.com/cudnn
这里需要你登录账号才可以下载,可以QQ登录。
然后根据你安装的cuda版本,选择就好了。
这里我安装的是cuda9.0对应的 cudnn7.2.1版本。
下载完成解压就可以了。
不会命令行的 直接右键 提取到此处就哦了
然后打开解压后的文件夹,进入到cuda文件夹内。
里面是如下俩个文件夹一个txt。
要做的就只是将需要的文件复制到安装cuda的文件夹内。
#复制
sudo cp include/cudnn.h /usr/local/cuda/include
#复制
sudo cp lib64/libcudnn* /usr/local/cuda/lib64
#升权限
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
然后,cudnn也就OK了。此时,我们已经将环境配好了。接下来可以安装各种需要的深度学习框架了。
###################################################################################
(下面的选看,有需求的可以瞅瞅,没需求的就可以散了)
###################################################################################
五。anaconda安装
下载地址:https://www.anaconda.com/download/#linux
直接下载所需的.sh文件
然后
用 bash 安装下载好的 ".sh" 安装包;
没什么好说的,一路默认就好。
(如果你 在安装的时候没耐心走掉了,你会错过一个 环境变量的设置。不过不用着急,自己添加就好。)
sudo gedit ~/.bashrc
添加 export PATH=/home/XX/anaconda3/bin:$PATH
( 标红的是你的安装路径)
六.pytorch的安装
我是直接使用下载好的.whl文件安装的。特么的,无论用conda还是其他,都安装失败,网络巨慢。
whl文件可以在 豆瓣镜像站 找到: http://pypi.doubanio.com/simple/torch/
然后可以直接通过pip安装。(此时有可能安装失败,并提示你pip需要升级,按提示升级完成后,即可安装成功)
pip install torch-0.4.0-cp36-cp36m-manylinux1_x86_64.whl
######这里更新一下,今天遇到个问题,就是在 pip install --upgrade pip时候,升级失败的问题。#####
解决方法是,先查看 pip版本,
pip --vresion
pip3 --vresion
为是pip3没有安装,这里为安装了pip3 ,使用
pip3 install torch-0.4.0-cp36-cp36m-manylinux1_x86_64.whl 完成了torch的安装
#########################################
torchvision直接使用pip安装即可。
pip install torchvision
这里最近遇到一个问题,就是在安装torchvision时,安装失败 提示 miniconda代替安装什么的。
这时,先去 下载 torchvison.whl 包
然后 pip3 install --no-deps torchvison.whl 即可
--no-deps 只run,不安装依赖关系
安装完成后,进行测试。(懒得敲代码了,直接上图。)
cuda.is_available() 输出为TRUE就对了,证明GPU可以被调用。