双系统安装Ubantu18.04 + RTX2070 + CUDA10.1 + Cudnn7.5.1+anaconda3+tensorflow-gpu
参考博客
http://www.tuicool.com/articles/JvUvQjZ
https://blog.youkuaiyun.com/10km/article/details/61191230
https://blog.youkuaiyun.com/wf19930209/article/details/81877822
https://blog.youkuaiyun.com/weixin_40859436/article/details/83152249
1. Ubantu系统的安装
- 系统下载
- U盘启动工具制作
下载软件 Universal-USB-Installer-1.9.8.1 点击打开链接
https://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
按照软件的提示来。
- 给出空闲去用于安装Ubuntu系统
分区快捷键“win+X”->“磁盘管理”->“压缩卷”
给Ubuntu系统预留30G,此处最好从固态硬盘划分。给Home预留300G(可根据实际情况给)这个区用于放东西,从磁盘中划分就好了。
- Ubuntu系统的安装
通过U盘启动电脑,选择直接安装Ubuntu系统。
进入到这个界面一定要选其他选项,这样才可以自己分区。
选择之后开始分区
一共要分4个区
第一次分区:
“空闲”处点“+”,进行如下设置:(注意一定要在空闲出操作,注意空闲处的内存与自己实际划分的内存对应)
挂载点:“/”
大小:20480M(看自个分配多少给Ubuntu 这里我是20G)
新分区的类型:主分区
新分区的位置:空间起始位置
用于:EXT4日志文件系统
第二次分区:
“空闲”处,继续点“+”,如下设置,(注意:安装在那个盘就点哪一个的空闲)
挂载点:(不设置)
大小:2048-8192 M(根据实际情况给)
新分区的类型:逻辑分区
新分区的位置:空间起始位置
用于:交换空间
第三次分区:
“空闲”处,继续点“+”,如下设置,
挂载点:/boot
大小:400MB
新分区的类型:逻辑分区
新分区的位置:空间起始位置
用于:EXT4日志文件系统
第四次分区:
“空闲”处,继续点“+”,如下设置,
挂载点:/home (这属于文件盘)
大小:自己根据需要给定(存储一些文件我给了300G)
新分区的类型:逻辑分区
新分区的位置:空间起始位置
用于:EXT4日志文件系统
分区设置完毕后,下方还有一项“安装启动引导器的设备”,请选择你/boot所在的盘符。接着安装。
2 安装显卡驱动前处理
- 在显卡驱动RTX2070未安装之前,手动修改一下grub文件:
- vim $sudo apt-get install vim-gtk
- sudo vim /etc/default/grub
- 在打开的文件中找到 #GRUB_GFXMODE=640×480 后面两项改为1920*1080(根据实际修改)。
(若电脑没有集成显卡,更改分辨率的效果要等到装好显卡驱动才看的到)
修改完成输入: - sudo update-grub
注意如果此步提示没有安装pip
可执行 - sudo apt-get install python-pip
- sudo apt-get install python-numpy swig python-dev python-wheel
2 更改apt的源
(1)在修改source.list前,最好先备份一份,所以执行 - sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
(附:如果此步显示此文件不存在,则执行sudo gedit /etc/apt/source.list 否则忽略附言)
(2)执行命令打开source.list文件 - sudo vim /etc/apt/source.list 或 sudo gedit /etc/apt/source.list
(3)增添源,把下面的内容复制到source.list中去,并覆盖原来的文件内容。 - 先点 i,
- 鼠标右键粘贴
- 完成了按esc键,再按 :wq! (或 按住shift+两下z)保存退出。
deb http://mirrors.163.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ lucid-backports main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ lucid main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ lucid main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ natty main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ natty-security main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ natty-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ natty-proposed main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ natty main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-security main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ natty-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
你还可以添加其他的源自行网上搜索
(4)最后更新源和更新已安装的包
- sudo apt-get update
- sudo apt-get upgrade
(5)装SSH Server,这样可以远程ssh访问这台主机(也可不用) - sudo apt-get install openssh-server
注意: 当遇到gcc版本与linux内核不符合的情况时可按照以下指令下载符合的版本。
- sudo apt-get install gcc- **(星号后面为相应的版本号)
- sudo apt-get install g++ - **
先把目录切换到/usr/bin下。修改原先gcc与g++的软连接,使得新安装的gcc与g++生效。 - cd /usr/bin
- sudo mv gcc gcc.bak
- sudo ln -s gcc-** gcc
- sudo mv g++ g++.bak
- sudo ln -s g+±** g++
3 安装显卡RTX2070驱动
1. 禁用nouveau驱动
Ubuntu系统集成的显卡驱动程序是nouveau,我们需要先将nouveau从linux内核卸载掉才能安装NVIDIA官方驱动。
若禁用后无法显示图形界面 通过alt+ctrl+F1(F1-F12)进入到命令行模式(我的电脑是F3切换到纯命令行模式。F2切换回图形模式)
(1) 修改blacklist.conf 文件属性blacklist.conf
查看属性
-
ll /etc/modprobe.d/blacklist.conf
修改属性 -
sudo chmod 666 /etc/modprobe.d/blacklist.conf
用vi编辑器打开 -
sudo vi /etc/modprobe.d/blacklist.conf
-
在文件末尾添加如下几行:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist rivatv
blacklist nvidiafb
(2)修改并保存文件后,记得把文件属性复原: -
sudo chmod 644 /etc/modprobe.d/blacklist.conf
更新一下内核 -
sudo update-initramfs -u
修改后需要重启系统 -
reboot (重启)
重启系统确认nouveau是否已经被屏蔽掉,使用lsmod命令查看,lsmod命令用于显示已经加载到内核中的模块的状态信息 -
lsmod | grep nouveau
若已屏蔽没有任何信息
2. 安装驱动
(1)安装之前先卸载已经存在的驱动版本 -
sudo apt-get remove --purge nvidia*
(2)安装相关依赖项 -
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev
(3)顺便安装vim(vim是一个类似于vi的文本编辑器,不过在vi的基础上增加了很多新的特性,后面配置的时候用得到) -
sudo apt-get install vim
(4)添加Graphic Drivers PPA -
sudo add-apt-repository ppa:graphics-drivers/ppa
-
sudo apt-get update
(5)寻找合适的驱动版本 -
ubuntu-drivers devices
安装驱动 -
sudo apt-get install nvidia-418(根据自己的驱动号)
或者使用 -
sudo apt-get install nvidia*
或 -
sudo ubuntu-drivers autoinstall (安装所有驱动)
或 -
找到软件和更新系统应用,点击附加驱动进行安装
注意如果上述不成功,进入步骤(7)。安装成功直接重启
(7)手动安装nvidia驱动 (依旧要禁用nouveau驱动) -
进入nvidia官网 https://www.geforce.cn/drivers
下载对应显卡的驱动程序,下载后的文件格式为run。 -
删除原有的NVIDIA驱动程序(若没有安装忽略)
- sudo apt-get remove –purge nvidia*
-
进入命令行桌面
给驱动文件增加可执行权限- sudo chmod a+x NVIDIA-Linux-x86_64-418.74.run(cd到文件所在文件夹。)
安装 - sudo sh ./NVIDIA-Linux-x86_64-418.74.run.run –no-opengl-files
(安装过程出现了几个警告,搞了好久没有解决,后来直接无视警告安装了,居然可以用。。。)
(8)安装完成后重启即可
检验驱动是否成功安装
- sudo chmod a+x NVIDIA-Linux-x86_64-418.74.run(cd到文件所在文件夹。)
-
nvidia-smi
3 Cuda安装
- 进入官网https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&target_distro=Ubuntu&target_version=1804&target_type=deblocal
注意:运行指令需要cd到包含该文件的文件夹目录下
根据官网提示指令安装即可
- sudo dpkg -i cuda-repo-ubuntu1804-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
- sudo apt-key add /var/cuda-repo-ubuntu1804-10-1-local-10.1.168/7fa2af80.pub
- sudo apt-get update
- sudo apt-get install cuda
4 cuDNN的安装
- 进入官网
- https://developer.nvidia.com/rdp/cudnn-download
注册账号,下载对应cudnn版本,选择第一个for linux
2. 下载完成解压文件
- tar -zxvf cudnn-10.1-linux-x64-v7.5.1.10.tgz
- 解压完成将相应的文件拷贝到对应的CUDA目录下即可(要cd到含cudnn文件的目录下)
- sudo cp cuda/include/cudnn.h /usr/local/cuda/include/
- sudo cp 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*
- 编辑环境变量
- sudo gedit ~/.bashrc
将cuda的环境变量加到打开的文件最后 - export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64”
- export CUDA_HOME=/usr/local/cuda
- export PATH=“
C
U
D
A
H
O
M
E
/
b
i
n
:
CUDA_HOME/bin:
CUDAHOME/bin:PATH”
保存后,终端输入 - source ~/.bashrc
5 Anaconda3安装
1.进入官网,下载需要版本
- cd进入下载文件所在的目录,在命令行输入:
- bash Anaconda2-4.0.0-Linux-x86_64.sh
- 安装完成之后,在.bashrc中添加Anaconda的库文件,输入
- sudo gedit ~/.bashrc
- 文件最后加入
- export PATH="/home/你的用户名/anaconda3/bin:$PATH"
- export LD_LIBRARY_PATH="/home/lyndon/anaconda2/lib:$LD_LIBRARY_PATH"
保存后,终端输入 - source ~/.bashrc
- 关闭终端
安装完成后最好重启下电脑
6. tensorflow-gpu安装
直接终端输入
- conda intall tensorflow-gpu
注意:不要把conda换成清华镜源,现在网上的清华镜源都不能用了(可能是我找的问题),换源后会导致安装失败。
测试是否正确安装:
进入终端输入 ipython - ipython
- import tensorflow as tf
- a = tf.constant(2)
- print(tf.Session().run(a))
正确的输出:
就此大功告成!