安葬GPU-Ubuntu18|CUDA10|cudnn7|tensoflow2|Anaconda|Pycharm
从0到1使用GPU
注意:现在如果没有翻墙工具,除非以前注册过nvidia账号是注册不了,所以下载不了cudnn。
重点:利用GPU进行深度学习训练是当前主流的模型训练方法,因此从0入门深度学习GPU训练成为本文的重点。
说明:本博客使用的安装环境都尽可能选用最新版本,博客步骤基本全部包括从0到tensorflow代码的每一个配置步骤Ubuntu18安装+显卡430安装+cuda10安装+cudnn7安装+tensorflow2.0安装+pycharm安装+anaconda安装 ,有资源均已存至个人网盘,资料整理不易转载请附上原文出处链接及本声明。
***作者:广州大学 翁金塔 用时:3天 ***
一. 下载大神的全套网盘资源(按需提取)
链接: https://pan.baidu.com/s/11mta7qetURbVMwrq6mEg_w 提取码: 9k8p
二. 成功的第一步——ububtu的安装:Ubuntu18.04
- 找到 ubuntu系统 18.04 这个ISO
- 使用ultroISO刻录ISO
打开ISO
将该ISO写入硬盘镜像
参数如下:(如果自己刚好什么系统都打开的可以在便捷启动中写入新的硬盘主引导记录USB-HDD)
-
修改BIOS 系统启动顺序,设置uefi或者usb为第一(大白话:也就是要从U盘启动)
因为我的电脑是联想,重启电脑,狂戳F2(有的电脑是F1,有的电脑是Esc,请自行查询),直到进入BIOS,然后把usb启动或者uefi的在boot option启动顺序中调到最前(from JakietYu) -
直接进入系统安装界面,install 而不是try ubuntu 那是试用
-
在 安装类型我选择 somethong else,因为我是双系统,所以我是从我是在win10中运用磁盘工具分了一块100G的格式化出来,所以我选择这个选项,当然只是使用ubuntu系统的可以让系统去默认安装分配,具体可以从参考我的另一篇博客)
-
从格式化的区域中新建四个分区
| 分区 | swap分区 | boot分区 | /分区 | home分区 |
| 格式 | swap格式 | ext4文件格式 | ext4文件格式 | ext4文件格式 |
| 大小 | 电脑内存大小 | 1G内 | 15GB起但也不必太多 | 越大越好 |
| 其他参数 | 默认 |
这个页面还会选择引导器 如果是用ubuntu引导则选择dev/sda 那个,如果要保留使用window来开机引导 则选那个/boot -
安装系统并设置安全密码 账号密码一定要记住
三. 让你的显卡活起来——安装显卡驱动
-
查阅 https://www.geforce.cn/drivers (根据显卡推荐驱动进行下载(查阅 https://www.geforce.cn/drivers )或更高版本因为向下兼容)
我的显卡是:NVIDIA GEFORCE GTX 960M
所以我比较喜欢安装最新的驱动 NVIDIA drive 430.50
-
下载资源 我的网盘文件为 NVIDIA-Linux-x86_64-430.50.run,如果不适合你的清依据上面链接推荐的驱动点击驱动知道直接下载完成。
-
卸载你的旧驱动,打开ubnutu终端,先删除旧的驱动:
sudo apt-get purge nvidia*
sudo apt-get install nvidia-319-updates-dev
- 禁用nouveau驱动
# 打开termianl,输入命令
sudo gedit /etc/modprobe.d/blacklist.conf
# 在打开的gedit编辑器文本最后添加:(禁用nouveau第三方驱动,之后也不需要改回来)
blacklist nouveau
options nouveau modeset=0
# 保存,重新回到terminal终端。
# 然后执行:
sudo update-initramfs -u
# 重启
# 执行:lsmod | grep nouveau。如果没有屏幕输出,说明禁用nouveau成功。
- 禁用X-Window服务
sudo service lightdm stop #这会关闭图形界面,不紧张
- 按Ctrl + Alt + F1组合键,如果不行用下F2,F3等切换到黑命令控制台。
# 用下面的命令终止图形会话:
sudo service lightdm stop
sudo service gdm stop
sudo service mdm stop
# 给下载的程序添加可执行权限,然后运行安装程序:
chmod +x ~/Downloads/NVIDIA-Linux-*-334.21.run
sudo sh ./NVIDIA-Linux-x86_64-375.20.run –no-opengl-files
#中间的参数
accept #同意安装
n #不安装Driver,因为已安装最新驱动
y #安装CUDA Toolkit
<Enter> #安装到默认目录你重新输入一遍这句话前面那个目录
y #创建安装目录的软链接
n #不复制Samples,因为在安装目录下有/samples
#重启
输入 reboot
# 如果安装后驱动程序不正常,使用下面的命令进行卸载后重新安装:
sudo sh ~/Downloads/NVIDIA-Linux-*-334.21.run --uninstall
7.测试命令
nvida-smi 现实表格
nvidia-settings 菜单
ps:如果因为自己的操作失误,循环登录不要慌张,循环登录解决方法
参考文献
https://www.linuxidc.com/Linux/2014-03/98097.htm
https://www.cnblogs.com/luofeel/p/8654964.html
四. 深度学习跑马——cuda
- 资源说明
我的网盘提供的是cuda10.0的,全名为 cuda_10.1.243_418.87.00_linux.run
安装:10.0 (也可使用官网下载:CUDA Toolkit 10.0 )(越野者,CUDA各版本下载链接)
- 改~/.bashrc,可以使用vim, nano或者gedit等编辑器
sudo gedit ~/.bashrc
#在gedit编辑器末尾加入
export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# 回到终端,用source ~/.bashrc 生效
# 若报错找不到source 命令,则使用如下两条
sudo -s
source ~/.bashrc
- 找到你下载的.run文件
# 开始安装
sudo sh cuda_10.[我的cuda文件名]_linux.run
安装完成时会提示,安装未完成,驱动要高于384,这个不用管,是因为你选择了上面所示的问题你选择了no,cuda10.0他要安装的是410.48,但是Nvidia提供的是更高版本,你没有按照他给的安装,所以这里会警告,不用管。
- 测试
#编译并测试设备 deviceQuery:
cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#返回 出现Result = PASS 说明安装完成。
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
五 GPU的加速:cudnn7.4
我的资源网盘中是有cudnn 7.4 针对 cuda10.0的四个文件如下(完全,请对应好)
libcudnn7-doc_7.6.4.38-1+cuda10.0_amd64.deb
libcudnn7-dev_7.6.4.38-1+cuda10.0_amd64.deb
libcudnn7_7.6.4.38-1+cuda10.0_amd64.deb
cudnn-10.0-linux-x64-v7.6.4.38.tgz
也有 针对 cuda10.1(不全)cuda9.0(不全),需要其他的版本的通过https://developer.nvidia.com/cudnn下载,没有翻墙工具可以用旧账号密码登陆下载,但是新用户需要翻墙才可以注册,所以也就下载不了(2019.11.1测试)
- 解压第一个压缩包
tar -xvf cudnn-10.0-linux-x64-v7.4.2.24.tgz
继续执行以下指令,放到cuda那边:
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*
版权声明:本文为CSDN博主「CHOSEN、1」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_40512640/article/details/92077967
2. 用一下命令安装
$ cd ~/Downloads
$ sudo dpkg -i libcudnn7_7.4.2.24-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-dev_7.4.2.24-1+cuda10.0_amd64.deb
$ sudo dpkg -i libcudnn7-doc_7.4.2.24-1+cuda10.0_amd64.deb
2 安装完成后,测试一下
$ cp -r /usr/src/cudnn_samples_v7/ $HOME
$ cd $HOME/cudnn_samples_v7/mnistCUDNN
$ make clean && make
$ ./mnistCUDNN
出现Test:passed! 说明安装成功了
ps:查看cudnn版本 cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
参考文献
安装Ubuntu18.04+cuda10.0+cuDNN7.4+tensorflow-gpu
六. 直悼python环境——Anaconda版本:Anaconda3-5.3.1-Linux-x86_64
虽然ubuntu已经集合了python3,但是由于我们习惯了anaconda3和conda新建虚拟环境等,我还是会在anaconda基础上进行python环境配置
- 下载anaconda3 官网或者我的网盘上的版本 Anaconda3-5.3.1-Linux-x86_64.sh(最新),都可以.
- 进入存放该文件的目录,直接
bash Anaconda2-5.0.0.1-Linux-x86_64.sh
- 安装过程会提示是否配置环境,填Y;是否安装 Vscod, 看你需要,我是no.
- 在终端输入 python 后如果输出的结果中没有Anaconda字眼,需要手动配置(如果你前面填Y添加进环境变量就没事)
参考文献
蚂蚁flow 使用conda管理python环境
七. 你的IDE编译器:Pycharm:pycharm-professional-2019.2.3
-
资源使用网盘或者官网百度pycharm下载,是一个.sh文件
-
pycharm需要java 环境,我使用如下方法,装的是openjdk11,自行百度即可
#安装
sudo add apt-repository ppa:linuxuprising/javax
sudo apt-get updat
sudo apt-get install oracle-java11-installer
然后配置环境变量:
vim /etc/profile
添加下面内容:
export JAVA_HOME=/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
然后执行:
source /etc/profile --使环境变量生效
java -version --查看jdk是否安装成功
- 安装pycahrm
#在终端中进入Pycharm的下载目录,输入命令
tar xfz pycharm-professional-2019.2.3.tar.gz
#将Pycharm文件夹解压到当前目录
找到bin文件夹运行pycharm.sh
cd Downloads/pycharm-2019.1.4/bin
sh ./pycharm.sh
#如果你是刚下载的pycharm,则需要点击激活窗口的“Evaluate for free”免费试用,然后再创建一个空项目。
4. 破解
- 将网盘上的破解补丁文件 jetbrains-agent.jar 放置到 pycharm 程序安装目录\bin目录下;
- 在之前安装完成的pycahrm中进入到项目界面后,点击Pycharm最上面的菜单栏中的 “Help” -> “Edit Custom VM Options …”,如果提示是否要创建文件,请点”Yes”
- 在打开的vmoptions窗口末行添加:-javaagent:你pycharm的安装目录\jetbrains-agent.jar
我的:-javaagent:/home/nagin/Downloads/pycharm-2019.2.3/bin/jetbrains-agent.jar
- 重启 sh pycharm.sh,如打不开的话就是文件的位置写不对进不去了,所以删除pycharm匹配文件.pycharm2019(被隐藏,重新配置pycharm删除方法,在本节参考文献)
- 修改完配置文件之后重启pycharm,点击菜单栏中的 “Help” -> “Register …”,选择最后一种License server激活方式,地址填入:http://jetbrains-license-server (应该会自动填上),或者点击按钮:”Discover Server”来自动填充地址,完成激活
参考文献
亓天大圣 Linux下安装Pycharm专业版并激活
LoveMIss-Y tensorflow各个版本的CUDA以及Cudnn版本对应关系
wu_a0d6 2019Pycharm永久激活
新安装的IDEA 2019.2没法启动 https://blog.csdn.net/silently_frog/article/details/99543899
八. 第一行牛tensorflow2.0 代码
说明:以下为tensorflow2.0,建议初学者或者是不熟悉的还是安装1.3及以下版本,不要安装2.0.
打开终端
conda create -n tensorflow2.0 python=3.6
#激活该虚拟环境环境,但其实还没装
activate tensorflow
1.先把安装源改成清华镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
2.更新pip
pip install pip -U
3.安装
安装的是TensorFlow 2.0 gpu版 aplha版本,应该是当前最新的版本,更加稳定的版本还没有发布,必须要制定版本号。
pip install tensorflow-gpu==2.0.0-alpha0
4.测试
import tensorflow as tf
tf.test.is_gpu_available()
显示TRUE就说明ok。
参考文献
Taylent ubuntu2019最新pycharm软件安装与激活
sinat_21190681 conda安装tensorflow
EvaJason 实战案例:Ubuntu16.04安装.Flownet2.0 caffe
遇到的其他问题
丶 NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver
qq_41870658 https://blog.csdn.net/qq_41870658/article/details/93330041
九. 本文特色总结
1 版本尽可能最高:显卡430.50+cuda10.0+cudnn7.4+tensorflow2.0
2 环节到位 Ubuntu+显卡430.50+cuda10.0+cudnn7.4+tensorflow2.0+pycharm+anaconda
3 参考文献以及bug文章一同给出。
4 绝对尊重各位知识创造者的劳动,采用人名+文章名+链接的方式引用
作者简介:
广州大学 翁金塔 ,552122632@qq.com;现为广州大学计算机科学和网络工程学院在读硕士生,研究方向为自然语言处理与知识图谱,对交流与问题探讨具备热情。