linux下载python 没有iedl_[Ubuntu18+RTX2080Ti]从0开始搭建深度学习环境TensorFlow+PyTorch...

[新]Ubuntu18.04 从0开始搭建深度学习环境(TensorFlow+PyTorch)

前言

最近lab进了一个新机箱,专门用来跑DL,既然是一台新机器,就让我们从装系统开始一起来配置DL环境吧,这也是我第一次真正意义上从头到尾配环境,一路上也是遇到了一些问题,写下本文也是为了记录一下配置环境的整体流程为以后所用,也希望初入DL大门的各位能尽可能少的踩坑,毕竟只有配环境的人才知道着配环境的过程有多闹心。

希望大家都能顺顺利利配环境,开开心心跑模型(●’◡’●)

p.s.本来想从装机开始,但是拿来的时候已经装配好了,那么我们就假定你已经有一台装好的裸机了,

1 硬件环境

CPU: i7-8700 3.20GHz

GPU: 七彩虹 iGame GeForce RTX2080Ti

内存: 金士顿 16G

主板: 华硕 PRIME Z370-P

硬盘: SSD 120G + HDD 2T

2 安装Ubuntu 18.04.1 LTS

2.1 下载官方镜像

官方下载地址:

2.2 制作系统USB启动盘

首先下载工具Refus

官方下载链接:

笔者写下本文时,官方提供的是Refus3.3

选择安装系统镜像,分区选择GPT,目标系统UEFI,如 图1 所示,之后点击开始,等待进度条走完,然后点击[关闭],弹出U盘就ok了。

图1

2.3 安装系统

开机连续按F2,进入BIOS,将引导模式设置为UEFI引导,如 图2 所示(不同主板设置不同,请自行查找相关资料进行修改)

图2

补充资料:

【BIOS引导】:传统的电脑通常都是使用BIOS引导,开机BIOS初始化,然后BIOS自检,再引导操作系统→进入系统,显示桌面。

光盘启动: 在BIOS引导的情况下,通常使用U盘维护、安装操作性系统,只要找到U盘使用上下键,选中此项,按回车键(Enter)予以确认,再按F10键,重启电脑就ok了。

【UEFI引导】:UEFI引导的流程是开机初始化UEFI,然后,直接引导操作系统,进入系统。和传统的BIOS引导相比,UEFI引导少了一道BIOS自检的过程,所以开机就会更快一些,这也成为了电脑的新宠。

开机之后正常选择,到了installation type 这里记得选something,自定义配置比较方便一些

p.s.这里由于之前学长把系统直接挂在了HDD上,SSD没挂上,所以在 图3 中你会看到前3行是这样显示的,不过没有关系,直接进入Something else

图3

进入之后可以看到,图4,有两块硬盘一个sda,一个sdb,分别对应SSD和HDD,如果没有看到对应盘下面出现free space,请先选择对应的硬盘然后点击右侧的 new partation table,之后在对应的硬盘下就会出现free space之后,我们对分出来的free space进行分配

图4

首先先分一下HDD,HDD主要用来存放数据,一般DL训练过程中的数据集我们选择放在这个HDD里面

分一个内存大小的swap

剩下选择 Ext4 journaling file system 并挂在到/home

在 图5 中我展示了我的配置结果,读者根据自己的实际情况自行分配即可

图5

之后分SSD

分一个500M的 EFI System Partition 分区

剩下的全部分给 / 即可

分配结果如 图6 所示

图6

之后只要常规的下一步下一步,然后重启就ok了。

3 安装Linux之后的几件事情

3.1 给Linux换国内源

Ubuntu系统自带的源都是国外的网址,国内用户在使用的时候网速比较慢。这里讲解一下如何将国外源更换为国内源,让你的网速起飞

1、首先备份原来的源,以防以后可以用的

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2、更换源

sudo nano /etc/apt/sources.list

将原有的源注释掉,之后将下面的阿里源复制到sources.list中

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse

之后执行sudo apt update和sudo apt upgrade

3.2 安装显卡驱动

刚安装好的Ubuntu18是没有2080ti的驱动的,那个输出的屏幕分辨率简直没法直视,首先就让我们安装显卡驱动。

系统自带的显卡驱动不是NVIDIA的,先删除这个驱动

sudo apt-get purgenvidia*

添加Graphic Drivers PPA

sudo add-apt-repository ppa:graphics-drivers/ppa

sudo apt-get updat

查找驱动:

ubuntu-drivers devices

选择上图中推荐的415驱动:

sudo apt-get install nvidia-driver-415

之后重启:

reboot

重启后点开系统Setting里面的Detail,就可以看到系统识别到了信仰的2080Ti了

还可以在Terminal中输入 nvidia-smi 查看显卡信息

3.3 添加搜狗输入法

1.Ubuntu电脑自带Ibus输入法+拼音/五笔,但是用了一段时间之后发现经常会出现输入不了中文的现象,解决办法是去清空ibus的配置文件,但是这样会把自己每天使用电脑变得更加麻烦

2.同时网上对于Ubuntu中某些特定的软件,例如sublime等不能输入中文的解决办法都是提出基于fcitx的解决方案

3.sougou输入法基于输入法市场是比较成熟的,模拟输入、检测目标词汇都是比较好的,体验不错

首先卸载电脑中存在的ibus输入法:

这个时候在系统中还可以看到ibus的设置和输入法,不过没有关系,如果介意的话可以重启电脑即可消除。

sudo apt remove 'ibus*'

之后在自带的应用商店搜索fcitx,安装查找到的三个fctix应用(三个小企鹅图标)

然后开始安装搜狗输入法,进入 地址:https://pinyin.sogou.com/linux/, 下载对应系统配置的输入法, 双击安装即可安装搜狗输入法;

安装后重启,应该就可以使用输入法了,如果没出来,请点击右上角的fcitx,点击配置,将搜狗拼音添加就好了

4 安装CUDA9.0

TF的安装主要是需要CUDA,cuDNN这些版本进行匹配,如果匹配不成功,会相当麻烦。

这里我们选择红框里的配置

4.1 安装依赖库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

4.2 修改gcc与g++版本

CUDA9.0要求gcc版本是5.x或者6.x,其他版本不可以,要自己进行配置,下面改变gcc与g++版本。

#安装5.x的gcc与g++

sudo apt-get install gcc-5

sudo apt-get install g++-5

#替换旧版本的gcc与g++

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50

4.3 安装CUDA9.0

按下图配置进行选择

之后下载下方的Base Installerh和四个Patch文件

进入Download目录,依次执行以下命令:

# 1 这一步中如果询问是否安装NVIDIA驱动,一定要选择no!!!!!

sudo sh cuda_9.0.176_384.81_linux.run

期间会让你看一段很长的协议,一开始还从头看到了尾,后来发现只要按一下q退出就好了(如下图所示,这一堆条款,按enter得按半天(;´д`)ゞ)

安装完之后会出现下图中的提示,这一步就算ok了(虽然下面Summary出现了Warning,不用担心)

# 2 安装剩下的4个Patch

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

sudo sh cuda_9.0.176.4_linux.run

之后在~/.bashrc 中设置环境变量

sudo nano ~/.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}}

export CUDA_HOME=/usr/local/cuda

然后ctrl+x退出nano编辑器。 之后source /etc/bash.bashrc使环境变量生效。最好再reboot一下

如果你上面安装路径都是默认的话,那么可以试着执行下面的指令,测试一下你的CUDA装没装好。

cd ~/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery

make -j4

sudo ./deviceQuery

出现下图中的PASS就是成功了!( •̀ ω •́ )✧

离成功又进了一步

5 安装cuDNN7.4

这个需要提前注册一个账号,登陆之后下载

官方下载地址:

选择 Download cuDNN v7.4.1(Nov 8, 2018), for CUDA 9.0 --cuDNNLibrary for Linux 下载下来是一个cudnn-9.0-linux-x64-v7.4.1.5.tgz压缩包这个tar文件默认应该是你的Download目录下。

首先解压:

tar -zxvf cudnn-9.0-linux-x64-v7.4.1.5.tgz

会得到一个叫cuda的文件夹,依次执行下面的3条指令

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 /usr/local/cuda/lib64/libcudnn*

没有报错就OK了。

6 配置Anaconda 5.3.1

6.1 下载与安装

既然是用Python,肯定离不开Anaconda全家桶,那么就先安装一个,笔者写下本文时官网Anaconda版本是5.3.1

官方下载地址:

该版本Anaconda对应的是Python3.7的版本,按下图进行选择

同样的到Download目录,执行以下指令,安装anaconda,之后安装过程和PC类似,只要一路next就ok(记得有一条是加环境变量,记得点选)

bash Anaconda3-5.3.0-Linux-x86_64.sh

6.2 为conda更新为国内源

跟换linux的源一个道理,国外的源实在是太慢了,换个源,让你配置系统的效率再次起飞

对于conda我们使用清华大学的TUNA提供的Anaconda 仓库的镜像

TUNA仓库官方地址:

执行下面的3条指令就OK了

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/

conda config --set show_channel_urls yes

6.3 为pip更换阿里源

首先执行

mkdir ~/.pip

之后执行

cat > ~/.pip/pip.conf << EOF

然后依次输入下面4行

[global]

trusted-host=mirrors.aliyun.com

index-url=https://mirrors.aliyun.com/pypi/simple/

EOF

效果图如下图所示

6.4 在Anaconda中创建Python3.6环境

Anaconda的python版本是3.7的,但是现在TF不支持,于是我们创建一个Python的虚拟环境

这里补充以下conda的一些基本用法,这里发一个CONDA CHEET SHEET,名字还是挺好玩的,大家可以熟练掌握基本的语句,具体内容放在下面2张图里

官方链接:

首先先创建一个叫tf的虚拟环境

conda create --name tf python==3.6

然后利用conda activate tf进入这个虚拟环境,我们将在虚拟环境内安装tensorflow

然后安装GPU版本tensorflow,Anaconda将为我们自动下载相关依赖组件

pip install --ignore-installed --upgrade tensorflow-gpu

安装完成后进行测试,看看你的tensorflow装没装好,在虚拟环境内输入python然后输入下面内容

import tensorflow as tf

hello = tf.constant('first tensorflow')

sess = tf.Session()

print sess.run(hello)

如果正常输出就是成功了!

7 安装Keras

在虚拟环境中执行pip install keras

8 PyTorch

在虚拟环境中执行conda install pytorch torchvision -c pytorch

然后进入python测试

import torch

print(torch.cuda.is_available())

#输出True则为成功

9 总结

至此你应该已经完整的配置好DL的环境了,这只是DL的第一步,好好学习DL理论和tf与torch才是王道,在此特别感谢知乎 黄海广 博士的文章,他的文章为本文的实践提供了坚实的基础,真的是填了不少的坑,笔者也是第一次从头到尾配环境,感谢。在此基础上对原文内容进行了相应的扩展和补充,希望大家能更快的配置好环境,将时间用在刀刃上!

另笔者水平有限,文章难免有所纰漏,欢迎大家一起在下面留言讨论交流,一起进步😆

p.s.另外如果你喜欢本文且对你产生了帮助,欢迎点赞、分享、收藏,您的鼓励是我继续前进的动力,大家一起加油吧!

以上。

参考链接

[1] cuDNN官方Document:

[2]

Lotus Panda 12/2/2018 3:11:37 PM

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值