[从0到1]最新:Ubuntu18安装+显卡430+cuda10+cudnn7+tensorflow2.0+pycharm+anaconda

从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

  1. 找到 ubuntu系统 18.04 这个ISO
  2. 使用ultroISO刻录ISO

打开ISO
在这里插入图片描述
将该ISO写入硬盘镜像

在这里插入图片描述
参数如下:(如果自己刚好什么系统都打开的可以在便捷启动中写入新的硬盘主引导记录USB-HDD)

在这里插入图片描述

  1. 修改BIOS 系统启动顺序,设置uefi或者usb为第一(大白话:也就是要从U盘启动)
    因为我的电脑是联想,重启电脑,狂戳F2(有的电脑是F1,有的电脑是Esc,请自行查询),直到进入BIOS,然后把usb启动或者uefi的在boot option启动顺序中调到最前(from JakietYu

  2. 直接进入系统安装界面,install 而不是try ubuntu 那是试用

  3. 在 安装类型我选择 somethong else,因为我是双系统,所以我是从我是在win10中运用磁盘工具分了一块100G的格式化出来,所以我选择这个选项,当然只是使用ubuntu系统的可以让系统去默认安装分配,具体可以从参考我的另一篇博客)

  4. 从格式化的区域中新建四个分区
    | 分区 | swap分区 | boot分区 | /分区 | home分区 |
    | 格式 | swap格式 | ext4文件格式 | ext4文件格式 | ext4文件格式 |
    | 大小 | 电脑内存大小 | 1G内 | 15GB起但也不必太多 | 越大越好 |
    | 其他参数 | 默认 |
    这个页面还会选择引导器 如果是用ubuntu引导则选择dev/sda 那个,如果要保留使用window来开机引导 则选那个/boot

  5. 安装系统并设置安全密码 账号密码一定要记住

三. 让你的显卡活起来——安装显卡驱动

  1. 查阅 https://www.geforce.cn/drivers (根据显卡推荐驱动进行下载(查阅 https://www.geforce.cn/drivers )或更高版本因为向下兼容)
    我的显卡是:NVIDIA GEFORCE GTX 960M
    所以我比较喜欢安装最新的驱动 NVIDIA drive 430.50
    在这里插入图片描述

  2. 下载资源 我的网盘文件为 NVIDIA-Linux-x86_64-430.50.run,如果不适合你的清依据上面链接推荐的驱动点击驱动知道直接下载完成。

  3. 卸载你的旧驱动,打开ubnutu终端,先删除旧的驱动:

sudo apt-get purge nvidia*
sudo apt-get install nvidia-319-updates-dev
  1. 禁用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成功。
  1. 禁用X-Window服务
sudo service lightdm stop #这会关闭图形界面,不紧张
  1. 按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

  1. 资源说明
    我的网盘提供的是cuda10.0的,全名为 cuda_10.1.243_418.87.00_linux.run

安装:10.0 (也可使用官网下载:CUDA Toolkit 10.0 )(越野者,CUDA各版本下载链接

  1. 改~/.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
  1. 找到你下载的.run文件
# 开始安装
    sudo sh cuda_10.[我的cuda文件名]_linux.run

安装完成时会提示,安装未完成,驱动要高于384,这个不用管,是因为你选择了上面所示的问题你选择了no,cuda10.0他要安装的是410.48,但是Nvidia提供的是更高版本,你没有按照他给的安装,所以这里会警告,不用管。

  1. 测试
#编译并测试设备 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测试)

  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环境配置

  1. 下载anaconda3 官网或者我的网盘上的版本 Anaconda3-5.3.1-Linux-x86_64.sh(最新),都可以.
  2. 进入存放该文件的目录,直接
bash Anaconda2-5.0.0.1-Linux-x86_64.sh
  1. 安装过程会提示是否配置环境,填Y;是否安装 Vscod, 看你需要,我是no.
  2. 在终端输入 python 后如果输出的结果中没有Anaconda字眼,需要手动配置(如果你前面填Y添加进环境变量就没事)
    参考文献
    蚂蚁flow 使用conda管理python环境

七. 你的IDE编译器:Pycharm:pycharm-professional-2019.2.3

  1. 资源使用网盘或者官网百度pycharm下载,是一个.sh文件

  2. 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是否安装成功
  1. 安装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;现为广州大学计算机科学和网络工程学院在读硕士生,研究方向为自然语言处理与知识图谱,对交流与问题探讨具备热情。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
自编译tensorflow: 1.python3.5,tensorflow1.12; 2.支持cuda10.0,cudnn7.3.1,TensorRT-5.0.2.6-cuda10.0-cudnn7.3; 3.无mkl支持; 软硬件硬件环境:Ubuntu16.04,GeForce GTX 1080 TI 配置信息: hp@dla:~/work/ts_compile/tensorflow$ ./configure WARNING: --batch mode is deprecated. Please instead explicitly shut down your Bazel server using the command "bazel shutdown". You have bazel 0.19.1 installed. Please specify the location of python. [Default is /usr/bin/python]: /usr/bin/python3 Found possible Python library paths: /usr/local/lib/python3.5/dist-packages /usr/lib/python3/dist-packages Please input the desired Python library path to use. Default is [/usr/local/lib/python3.5/dist-packages] Do you wish to build TensorFlow with XLA JIT support? [Y/n]: XLA JIT support will be enabled for TensorFlow. Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]: No OpenCL SYCL support will be enabled for TensorFlow. Do you wish to build TensorFlow with ROCm support? [y/N]: No ROCm support will be enabled for TensorFlow. Do you wish to build TensorFlow with CUDA support? [y/N]: y CUDA support will be enabled for TensorFlow. Please specify the CUDA SDK version you want to use. [Leave empty to default to CUDA 10.0]: Please specify the location where CUDA 10.0 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /usr/local/cuda-10.0 Please specify the cuDNN version you want to use. [Leave empty to default to cuDNN 7]: 7.3.1 Please specify the location where cuDNN 7 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda-10.0]: Do you wish to build TensorFlow with TensorRT support? [y/N]: y TensorRT support will be enabled for TensorFlow. Please specify the location where TensorRT is installed. [Default is /usr/lib/x86_64-linux-gnu]://home/hp/bin/TensorRT-5.0.2.6-cuda10.0-cudnn7.3/targets/x86_64-linux-gnu Please specify the locally installed NCCL version you want to use. [Default is to use https://github.com/nvidia/nccl]: Please specify a list of comma-separated Cuda compute capabilities you want to build with. You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus. Please note that each additional compute capability significantly increases your build time and binary size. [Default is: 6.1,6.1,6.1]: Do you want to use clang as CUDA compiler? [y/N]: nvcc will be used as CUDA compiler. Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]: Do you wish to build TensorFlow with MPI support? [y/N]: No MPI support will be enabled for TensorFlow. Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native -Wno-sign-compare]: Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: Not configuring the WORKSPACE for Android builds. Preconfigured Bazel build configs. You can use any of the below by adding "--config=" to your build command. See .bazelrc for more details. --config=mkl # Build with MKL support. --config=monolithic # Config for mostly static monolithic build. --config=gdr # Build with GDR support. --config=verbs # Build with libverbs support. --config=ngraph # Build with Intel nGraph support. --config=dynamic_kernels # (Experimental) Build kernels into separate shared objects. Preconfigured Bazel build configs to DISABLE default on features: --config=noaws # Disable AWS S3 filesystem support. --config=nogcp # Disable GCP support. --config=nohdfs # Disable HDFS support. --config=noignite # Disable Apacha Ignite support. --config=nokafka # Disable Apache Kafka support. --config=nonccl # Disable NVIDIA NCCL support. Configuration finished 编译: bazel build --config=opt --verbose_failures //tensorflow/tools/pip_package:build_pip_package 卸载已有tensorflow: hp@dla:~/temp$ sudo pip3 uninstall tensorflow 安装自己编译的成果: hp@dla:~/temp$ sudo pip3 install tensorflow-1.12.0-cp35-cp35m-linux_x86_64.whl
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值