IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Ubuntu 20.04 深度学习基础环境配置 -> 正文阅读

[系统运维]Ubuntu 20.04 深度学习基础环境配置

写在最前面:

最近一个月配了仨电脑,感觉实在遭不住了,于是写了这篇文档给自己进行一种流程上的参考。
由于是给自己的一种参考,所以本文档不会细致到每个cd和ls。因此,按照本文档进行配置前,最好了解linux最最最基本的使用操作,不然的话建议完成第1,2,3步后,花费一定时间熟悉下该系统,再进行之后的环境配置。
主要内容如下:

1. 安装Ubuntu (双系统安装方法)

(1) 安装流程参考以下博客:

?https://www.cnblogs.com/masbay/p/11627727.html

?该博客安装的是18.04版,但对于其他版本的ubuntu,该流程也具有参考性。

(2) 以中文安装的系统,建议安装成功后切换语言为英文以使各个系统文件夹名称为英文(键入命令好敲,也防止有些库路径不兼容中文),之后可以再将系统设置回中文,能够在保留系统文件夹名称为英文不变的情况下,系统以中文显示。

(3) 系统提示更新要取消,不要更新,否则系统容易莫名坏掉。

(4) 如果安装的是20.04版本:

?a) 如果启动盘没有install ubuntu。

??选择 ubuntu(safe graphics),其在扫描完u盘文件确认无误后会出现install ubuntu的选项。

?b) 如果启动花屏或安装花屏或启动后桌面卡到没反映。

??重启,使用advanced options for ubuntu 选项 ,按e进入编辑模式,在quite splash 和 $vt_handoff 之间加上 nomodeset,ctrl+X保存退出。

??正常进入ubuntu系统后,参考第2步设置grub引导,在grub引导文件中中将下句改为:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

?c)如果系统正常运行时,以一定间隔卡顿,搜索系统监听器(system load indicator),在设置中将各项监听时间改大。

?d)如果系统无法检测到分屏的第二屏幕,配置到第10步安装nvidia驱动后就会正常。

2. 设置Grub引导

(1) 修改Grub引导文件

	cd /etc/default/
	sudo gedit grub

?文档中常设的配置项:

	GRUB_DEFAULT=3  #设置为希望默认启动的系统
	GRUB_TIMEOUT=20  #设置为默认选择时间
	GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset" #解决花屏问题

(2)保存退出

	sudo update-grub

3. 添加源

	cd /etc/apt
	sudo gedit sources.list

?在文件的末尾添加阿里,中科大和清华三个常用源:

## add ali
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

## add ustc
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

## add tuna
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
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

?保存退出

	sudo apt-get update
	sudo apt-get upgrade

?都更新完退出当前terminal,重启一个新的。

4. 设置输入法(自带的中文输入法很卡,可以忍受则跳过此步)

(1) 安装fcitx

	sudo add-apt-repository ppa:fcitx-team/nightly
	sudo apt-get update
	sudo apt-get install fcitx fcitx-config-gtk fcitx-sunpinyin
	sudo apt-get install fcitx-table-all
	sudo apt-get install fcitx-ui-classic

?设置(Setting)–>区域和语言(Region&Language)–>管理已安装语言(Manage installed language)–>稍后提醒(Remind me later)–>键盘输入法系统(Keyboard input method system)更改为fcitx。

?重启

(2) 安装搜狗拼音

?去官网 https://pinyin.sogou.com/linux/ 下载到Downloads

	cd Downloads/
	sudo dpkg -i sogoupinyin_版本_amd64.deb

?重启

?重启后搜狗输入法会被自动添加,如果没有,在所有程序中搜索fcitx-configuration(fcitx-配置),+ 添加搜狗输入法,输入法切换默认是ctrl+space。

5. 安装terminator (推荐安装)

	sudo apt-get install terminator

?测试ctrl+alt+t出现的是否为terminator,否则去Setting–>Devices–>Keyboard设置快捷键。

6. 安装一些有用的工具(可选配置)

(1) meld 文档对比

	sudo apt-get install meld

(2) kazam截图录屏软件 (最近发现有中文不支持的乱码问题)

	sudo apt-get install kazam

(3) net-tools

	sudo apt-get install net-tools

7. 安装IDE

注:这里选择vscode,因为支持多种语言,插件丰富,用起来很方便,当然,你也可以根据喜好安装其他。

(1) 下载vscode到Downloads

?https://code.visualstudio.com/

	cd Downloads/
	sudo dpkg -i code_版本号_amd64.deb

(2) 安装插件

?常用插件:

?1) 通用类

??Chinese (Simplified) Language Pack for Visual Studio Code
??Bracket Pair Colorizer

?2) C++

??c/c++
??C++ Intellisense
??CMake

?3)Python

??Python
??Jupyter

?4) 文档类

??vscode-pdf
??Markdown Preview Enhanced

?5) 其他

??Git History
??Git Graph

8. 配置C++环境

(1) 安装c++底层环境

	sudo apt-get install build-essential

(2) 安装cmake

?https://cmake.org/files/ 选择某一版本后,下载linux-x86_64.bash后缀的。

?在希望安装它的位置,把下载好的.bash文件copy进去

	bash cmake-版本-linux-x86_64.bash

?安装结束后

	sudo gedit ~/.bashrc

?在文档最后添加cmake的环境, PATH=你的cmake的bin目录路径:$PATH

# add cmake path
export PATH=/home/ryuuru/Software/cmake/cmake-3.20.0-linux-x86_64/bin:$PATH

?保存退出

	source ~/.bashrc

?测试是否安装成功

	cmake --version

9. 配置Python环境

(1) 安装anaconda

?官网国内访问较慢,建议从清华镜像下载 https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/

	cd Downloads/
	bash Anaconda_版本.sh

?安装过程ctrl+d快速下翻协议,除了安装vscode,其他都是enter或者yes

?安装结束关闭当前terminal,重启一个新的

	sudo gedit ~/.bashrc

?查看文档最后有没有加入anaconda环境

?如果没有的话在文档最后添加:

	export PATH="/home/用户名/anaconda3/install/bin:$PATH"

?保存退出

	source ~/.bashrc

?安装结束关闭当前terminal,重启一个新的

	conda -V

?查看是否出现conda版本,出现则表示安装成功

	sudo gedit ~/.condarc

?在打开的文档中添加国内源

channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
  - https://mirrors.ustc.edu.cn/anaconda/pkgs/main/
  - https://mirrors.ustc.edu.cn/anaconda/cloud/conda-forge/
  - defaults
show_channel_urls: true

?保存退出,清理缓存

	conda clean -i

新建一个conda环境,测试一下

	conda create -n 环境名 python==3.9.0(期望的python版本,也可以指定其他库,这里配置一个3.9.0的)

?创建结束后,查看环境是否建立成功,并切换环境。

	conda env list
	conda activate 环境名

(2) 在conda环境里安装python常用库

?几乎必备的库:

	conda install pip 
	conda install ipython 

?其他根据实际应用可选安装:

??matplotlib (画图)
??numba (python代码加速库)
??black (python代码格式校验,自动格式)
??mypy (静态类型检查工具)

10. 配置深度学习环境

注:

  • ?配置此环境前,建议前面c++和python的都配好,因为深度学习领域c++和python都会涉及。

  • ?https://tensorflow.google.cn/install/source 可以查看tensorflow版本和对应cuda,cudnn版本。

  • ?如果没有一定要运行某指定版本的需求,最好选择和自己电脑接近的nvidia驱动和cuda版本。

    • ??不要安装低版本出现一堆问题后还死磕!

    • ??不要随便给gcc和g++降级!(虽然降级后可选版本使用,但实际c++和python和神经网络三方混合编程时,很容易出现问题)

  • ?本配置中电脑显卡为RTX3090,因此选择了nvidia-driver-470, cuda11.0, cudnn8.0.5

(1) 安装nvidia显卡驱动

?查看电脑里是否已经有nvidia驱动,以后也可以使用该命令查看显卡情况。

	nvidia-smi

?如果没有,查看显卡硬件型号和推荐驱动:

	ubuntu-drivers devices

?在显示的里面找一个版本装:(需要bios里安全模式关闭)

?如果有特定版本要求

	sudo apt-get install nvidia-driver-xxx

?如果安装recommend的

	sudo ubuntu-drivers autoinstall

?重启

?再次运行nvidia-smi命令,会发现安装成功。

?注:现在ubuntu提供安装驱动的功能很便捷,不建议自行从nvidia官网下载然后离线安装,因为其过程会包含:卸载现有驱动,切换图形界面到命令界面,安装过程中由于是中文系统偶尔会乱码,一旦安装失败需要重装回现有驱动,再切换命令界面到图形界面等一系列繁琐过程,也比较容易出问题。

(2) 安装cuda

?nvidia官网如果登录不进去,或者下载时各种页面进不去,可以尝试把developer.nvidia.com改为 developer.nvidia.cn

?https://developer.nvidia.cn/cuda-toolkit-archive 下载cuda,这里选择11.0版本。

?下载时选择Linux → x86_64 → Ubuntu → 你的ubuntu版本 → runfile

?按照下面Base installer的指示运行命令即可

	wget http://developer.download.nvidia.cn/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run

?下载结束后,在runfile所在文件夹下打开terminal

	sudo sh cuda_11.0.2_450.51.05_linux.run

?安装过程:

??选择continue回车;
??输入accept回车;
??Cuda Installer页面,在Driver处按空格取消勾选,其余地方正常,选择Install回车。

?安装完成后,添加环境。

	sudo gedit ~/.bachrc

?在文档最下面添加

# add cuda path
export PATH=/usr/local/cuda-你的版本/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-你的版本/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

?保存退出。

	source ~/.bashrc

?关闭当前terminal,重启。

	nvcc -V

?出现cuda版本输出则安装成功。

(3) 安装cudnn,本质上只是复制文件到指定文件夹

?https://developer.nvidia.cn/zh-cn/cudnn 下载cudnn

?下载前需要登录/注册nvidia账号,回答一个问卷。

?下载后解压,进入解压后cudnn-版本/cuda的文件夹下,可以看到一个include文件夹和一个lib64文件夹,在此处右键打开terminal。

	sudo cp ./include/cudnn.h /usr/local/cuda/includ
	sudo cp ./lib64/* /usr/local/cuda/lib64
	sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

?之后cd /usr/local/cuda/ 看一下复制过去的文件都在不在,权限是不是正确。

(4) 运行cuda sample

	/usr/local/cuda-你的版本/bin/cuda-install-samples-你的版本.sh  你希望存放sample的路径

?进入你存放sample的路径,1_Utilities文件夹下,deviceQuery文件夹

	make
	./deviceQuery

?最后有Result = PASS 就是运行成功,如果有运行失败的情况,可以尝试sudo运行sample。

(5) 安装tensorflow

?在第9步配置python环境中已经安装好了Anaconda,这里以python3.7.7,tensorflow1.14为例,新建一个conda环境,并安装tensorflow1.14gpu。

	conda create -n tf14 python==3.7.7 # 创建环境
	conda activate tf14 # 切换到刚创建的环境
	conda install pip
	conda install ipython
	conda install tensorflow-gpu==1.14.0

?都安装好后

	ipython #可以看到python版本是我们安装的3.7.7
	import tensorflow as tf
	hello = tf.constant("hello")
	sess = tf.Session()

?运行完此行时,能够看到很长的一串输出,最下面可以看到device: GPU 等如下字样则代表安装成功,可以正常使用tensorflow-gpu。

326] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 22247 MB memory) -> physical GPU (device: 0, name: NVIDIA GeForce RTX 3090, pci bus id: 0000:01:00.0, compute capability: 8.6)
	print(sess.run(hello))

11. 配置其他编程支持环境(推荐安装)

(1) git

	sudo apt-get install git

?如果有大文件传输建议安装一个git-lfs

	git config --global user.name "你的名字"
	git config --global user.email "你的邮箱"

?登录你的github, Setting,进入SSH and GPG keys页面。

?generating ssh keys里面有新建key的方法,同时,我们在新建了key后也要在此页面选择 New ssh key添加我们的key。

?新建key。

	ssh-keygen -t ed25519 -C "your_email@example.com"

?新建过程中会显示存储key的路径。

?cd 到此路径 sudo gedit 打开.pub文件,复制其中内容,粘贴到github上的New ssh key页面, Add SSH key。

?添加后,测试ssh连接。

	ssh -T git@github.com

?输入yes,出现Hi, xxx. You’ve successfully authenticated.字样则表示成功。

(2) docker

?安装依赖

	sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

?添加秘钥

	curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

?添加源(以下一段一起复制)

	sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

?更新源

	sudo apt-get update

?安装docker

	sudo apt install docker-ce

?测试安装结果,此处一般会新pull一个hello-world的image,之后会删掉

	sudo docker run hello-world

?设置免sudo运行

	sudo usermod -aG docker 用户名
	sudo systemctl restart docker

?重启

?删掉之前pull的hello-world,顺便测试下免sudo是否成功

	docker ps -a  #查看所有容器,能看到那个hello-world的
	docker stop 容器名/容器id  #停止hello-world的容器
	docker rm $(docker ps -a -q)  #删掉所有已经停止运行的容器
	docker images #查看所有镜像
	docker rmi 镜像名  #删掉该镜像
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 20:47:15  更:2021-09-12 20:47:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:18:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码