安装ubuntu 16.04
- 使用ultraISO制作驱动盘, 打开.iso文件, 选择"启动"中的"写入硬盘映像", HDD+, 写入即可.
- 在boot界面上选择
UEFI:+u盘符
选择F4
保存退出. - 在"Install Ubuntu"选项上按
e
进入gurb编辑模式, 在quite splash
后添加nomodeset
nodmraid
按F10保存进入安装界面. 相关解释- 选择
English
- 选定
Install third-party software...
continue - 在 Installation type 中选择
something else
后 continue - 大致按照
/boot--300m
/--40000m
/home--maximum
swap--5000m
分配空间.所有type均选择logical
和begining of this space
最后要将boot loader引导至/boot
所在盘符.留出10m左右的空闲空间. - Where are you ?
Shanghai
continue - keyboard
English
English(US)
- Who are you ?
设置名称 和 密码
- restart 拔出U盘
- 使用recovery mode 进入 ubuntu
- 在/etc/modprobe.d/blacklist.conf中添加
blacklist nouveau
, 之后lspci | grep nouveau
后sudo update-initramfs -u
再 reboot - 可以直接进入ubuntu系统.
- 选择
安装显卡驱动
-
使用recovery mode 进入,
sudo gedit /etc/modprobe.d/blacklist.conf
添加blacklist nouveau
使用sudo update-initramfs -u
更新之后 reboot -
先检验各种环境:
- 验证自己的电脑是否有一个可以支持CUDA的GPU:
$ lspci | grep -i nvidia
- 验证自己的Linux版本是否支持 CUDA(Ubuntu 16.04没问题):
$ uname -m && cat /etc/*release
- 验证系统是否安装了gcc:
gcc --version
若未安装请使用下列命令进行安装:sudo apt-get install build-essential
- 验证系统是否安装了kernel header和 package development
- 验证自己的电脑是否有一个可以支持CUDA的GPU:
-
查看正在运行的系统内核版本:
-
在终端中输入:
$ uname –r
-
在终端中输入:
$ sudo apt-get install linux-headers-$(uname -r)
可以安装对应kernel版本的kernel header和package development 结果显示:......升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 4 个软件包未被升级。
表示系统里已经有了,不用重复安装。
-
-
安装流程:
sudo apt-get --purge remove nvidia-*
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt install dkms build-essential linux-headers-generic
ubuntu-drivers devices # 查看可支持的驱动
sudo apt-get install nvidia-410
sudo apt-get install mesa-common-dev
sudo apt-get install freeglut3-dev
sudo update-initramfs -u
sudo reboot
安装驱动后发生循环登录的状况时, 使用如下命令查看xsession-errors文档:
使用CTRL+ALT+F1
进入命令界面 并登录系统, 使用ls -a
查看/home
里是否有.xsession-errors文档
使用sudo vi .xsession-errors
查看, 大部分问题出在如下报错:
openConnection: connect: No such file or directory
cannot connect to brltty at :0
该问题是安装驱动时同时安装OpenGL导致的, 使用:q
退出.
删除已安装的驱动后, 需要使用安装包安装驱动.下载好驱动后, 进入非图形界面.
输入sudo /etc/init.d/lightdm stop
sudo /etc/init.d/lightdm status
cd到驱动文件夹后使用命令:
sudo chmod a+x NVIDIA-Linux-x86_64-375.20.run
sudo ./NVIDIA-Linux-x86_64-375.20.run –no-x-check –no-nouveau-check –no-opengl-files
安装,其中:
-
-no-x-check:安装驱动时关闭X服务
-
-no-nouveau-check:安装驱动时禁用nouveau
-
-no-opengl-files:只安装驱动文件,不安装OpenGL文件
完成安装后,
重启xserver?输入sudo /etc/init.d/lightdm restart
-
06181444(已整合到代码区)报错, 报错内容说是在makefile时kernel发生错误, 推测原因是依赖项没有安装好, 首先使用sudo apt-get upgrade
升级一下下一步, 先sudo apt-get --purge remove nvidia-*
再使用sudo apt update
sudo apt install dkms build-essential linux-headers-generic
安装一下依赖项, 最后再使用sudo apt-get install nvidia-396
试一下
若以上各项验证检查均满足要求,便可进行下面的正式安装过程。如果没有满足要求的话,可以参考cuda的官方文档,里面有详细的针对每个问题的解决方案。
下载完后,用MD5检验,如果序号不和,得重新下载(由于当时没有保存,这里我采用了别人的截图,注意这里的cuda版本号,人家采用的cuda_8.0) 输入命令:$ md5sum cuda_9.0.176_linux.run
随后输入:
nvidia-smi
nvidia-setting
输出,则完成。
配置CUDA CUDNN
- 按照 Ubuntu18.04+Cuda9.0+Cudnn7.1环境配置Tensorflow-gpu - 简书 配置即可.
在实际安装过程中发现, CUDNN7.1要求GCC版本为5.3, 而ubuntu自带的gcc版本是5.4. 将5.4降级为5.3不太好操作, 改为安装CUDA9.2经查, CUDA9.2共有2个包, CUDNN有3个包- 部分参考 Ubuntu安装NVIDIA GEFORCE 930M显卡驱动+CUDA+CuDnn+Tensorflow-GPU(所有的模块的版本要对的上,否则前功尽弃)
- 有时候需要更改CUDA版本, 详见 修改CUDA & CUDNN版本
gcc降级
- 如在运行cascade-rcnn的时候需要使用CUDA 8.0 && CUDNN 7.1, 但是Ubuntu 16.04自带的gcc版本为5.4, 与CUDA8.0支持的5.3不同.
这里要注意的一点是ubuntu16.04的gcc版本是5.4,而cuda8.0在该系统中支持的gcc版本不超过5.3,所以第一步需要对GCC版本进行降级。
以下操作方法源自 网址
- 下载gcc源码
wget ftp://mirrors.kernel.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz
以上的下载链接,反正我用的是下载不下来,所以换成用以下的链接:
http://ftp.gnu.org/gnu/gcc/
- 解压
tar -zxvf gcc-5.3.0.tar.gz
- 下载编译所需依赖项:
cd gcc-5.3.0 #进入解包后的gcc文件夹
./contrib/download_prerequisites#下载依赖项
cd .. #返回上层目录
- 建立编译输出目录:
mkdir gcc-build-5.3.0
- 进入输出目录,执行以下命令,并生成makefile文件:
cd gcc-build-5.3.0
../gcc-5.3.0/configure --prefix=/usr/local/gcc-5.3.0 --enable-checking=release --enable-languages=c,c++ --disable-multilib
- 注:/usr/local/gcc-5.3.0是自定的安装目录。将GCC安装在/usr/local/gcc-5.3.0目录下。为了以后的配置环境变量确立位置。
- 编译:
sudo make -j8
以上的编译过程大约40分钟左右。PS:最好不要在编译过程中再去做别的什么事,整个过程CPU都是满载的。
7.编译结束以后,我们就可以执行安装了:
sudo make install
- 环境设置(这里需要将gcc的头文件和库文件指向新的版本,否则电脑用的还是Ubuntu自带的gcc)
打开配置文件夹:
cd $HOME
ls -a
sudo gedit ~/.bashrc
向其中添加以下语句:
GCCHOME=/usr/local/gcc-5.3.0 #指定新安装gcc的搜索路径
PATH=$GCCHOME/bin:$PATH
LD_LIBRARY_PATH=$GCCHOME/lib
export GCCHOME PATH LLD_LIBRARY_PATH
重新引导,并查看gcc版本:
source $HOME/.bashrc
which gcc
会显示gcc新的路径为 /usr/local/gcc-5.3.0:
检查gcc和g++版本 :
gcc --version
g++ --version
gcc降级之后需要重新安装CUDA和CUDNN, 并且需要重新编译, 其中, 编辑时报错:
error while loading shared libraries libcudart.so.8.0: No such file or directory
解决办法按照libcudart.so.8.0介绍的方法一解决.`
安装 anaconda
官网下载后使用bash [安装包名称]
即可.
安装 pytorch
conda install pytorch=0.4.0 cuda80 -c pytorch
conda install torchvision
安装pt1.1时, 需要安装cuda10.0, 可以使用nvidia-driver-410+cuda10.0+cudnn7.0的搭配完成.