大数跨境
0
0

图文安装流程|Ubuntu 20.04 pytorch 环境搭建

图文安装流程|Ubuntu 20.04 pytorch 环境搭建 极市平台
2023-02-27
2
导读:环境搭建不用愁啦!
↑ 点击蓝字 关注极市平台
作者丨wenjtop@知乎(已授权)
来源丨https://zhuanlan.zhihu.com/p/496107394
编辑丨极市平台

极市导读

 

保姆级别Ubuntu环境搭建教程! >>加入极市CV技术交流群,走在计算机视觉的最前沿

1 硬件信息

  • 系统: windows 10
  • 处理器: 英特尔 Core i9-10900X @ 3.70GHz
  • 主板 :华硕 Pro WS X299 SAGE II(X299 芯片组)
  • 显卡: NVIDIA GeForce RTX 3090 ( 24 GB / 技嘉 ) × 2
  • 内存: 64 GB ( 海盗船 DDR4 3200MHz )
  • 主硬盘: 西数 WDS100T3X0C-00SJG0 ( 1 TB / 固态硬盘 )
  • 副硬盘: 希捷 ST4000NM0033-9ZM170( 4TB / 机械硬盘) x 8
  • 显示器: TUO2400 R240A ( 24 英寸 ) x 2
  • 声卡: 瑞昱 @ 英特尔 High Definition Audio 控制器
  • 网卡: 英特尔 Ethernet Controller I225-LM / 华硕
  • 电源:长城巨龙 全模组 额定2000W

2 软件和包介绍

  • Ubuntu系统:安装Ubuntu 20.04 LTS稳定版本。
  • vim: ubuntu常用文本编译器。
  • SSH: 远程连接工具。
  • frp: 内网穿透,自己配置的电脑很难获取独立IP地址,需要用一个第三方,有独立IP地址的服务器,最为桥梁,传递客户端与服务器的数据,实现远程访问的效果。
  • xrdp: 远程桌面连接,安装后可以用Windows自带的远程桌面连接软件,访问Ubuntu服务器。
  • SAMBA: 远程挂载硬盘,可以把Ubuntu系统下面的硬盘挂在在Windows系统下。
  • 显卡: 指硬件部分,如3080,3090显卡,能看得见摸得着。
  • 显卡驱动: 通常指NVIDIA Driver,是连接硬件和软件的桥梁,没有驱动,系统就无法识别显卡,也就无法使用显卡。
  • cuda: C语言在GPU编程上的拓展包工具库,是显卡驱动之上的一个并行运算平台的,可以解决复杂的并行计算问题。
  • CuDNN: 在cuda基础上专门为深度学习设计的相关工具库,封装了卷积等算子的库,安装CuDNN才能完成深度学习优化和加速计算。
  • Conda: 一个开发环境管理工具,在开发过程中,经常会用到不同版本的python、pytorch或者其他包,但是同一环节只能安装一个版本的库,conda就可以帮我们隔离出不同的环境,在不同的环境中安装不同版本的库。
  • pytorch: 深度学习开发框架,很多底层的深度学习功能都已经实现,我们只需要调用,就能完成我们的项目,不需要从新造轮子。
  • PyChram:是一种python的编译器工具,带有可以提高开发效率的工具,比如调试、代码跳转、智能提示、代码补全等。适合大型项目。

3 安装 ubuntu系统

3.1 下载 Ubuntu 20.04 LTS

https://ubuntu.com/download/desktop

3.2 制作 u盘启动, 常用的两个u启动制作工具 UltraISORufus, 把Ubuntu系统烧录在U盘后插需要安装的电脑

3.3 安装 ubuntu,一键u启动(以主板为准,安装过程省略)

以主板为准

4 配置 ubuntu环境和软件安装

4.1 设置root密码

sudo passwd root

4.2 更换 ubuntu 的国内源

4.2.1 备份默认源

# 备份默认源

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

回复默认源:sudo cp /etc/apt/sources.list.bak /etc/apt/sources.list

4.2.2 内容替换为:

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

4.2.3 更新软件列表

sudo apt update           # 更新apt软件源
sudo apt upgrade # 更新

报错 ERROR:Unable to lock directory /var/lib/apt/lists/

sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
sudo dpkg --configure -a

报错 ERROR:Could not get lock /var/lib/dpkg/lock-frontend.

ps aux|grep apt
sudo kill -9 pid

4.3 安装 vim

sudo apt install vim

4.4 安装 SSH(远程连接)

sudo apt install ssh  
#使用:ssh -p 22 root@192.168.31.176

4.5 安装 frp(客户端和服务端都需要下载)

tar -zxvf frp_xxxx.tar.gz

服务端: 修改frps.ini内容改为:

[common]
#frp服务的端口号,本地服务器和云服务器保持一致
bind_port = 7000
# frp的web界面的端口号,自己定义
dashboard_port = 7001
# web界面的登陆账户,自己定义
dashboard_user = wentop
# web界面的登陆密码,自己定义
dashboard_pwd = 123456
# frp验证方式,本地服务器和云服务器保持一致
authentication_method = token
# frp客户端连接时的密码,本地服务器和云服务器保持一致
token = 123456

启动服务端服务:

# 开启服务端  方法一
./frps -c ./frps.ini
# 或者后台开启 方法二
nohup ./frps -c ./frps.ini &

客户端: 修改frpc.ini内容改为:

[common]
# 云服务器公网ip
server_addr = xx.xx.xx.xx
# 验证方式,本地服务器和云服务器保持一致
authentication_method = token
# frp连接密码,本地服务器和云服务器保持一致
token = 123456
# frp服务端口,本地服务器和云服务器保持一致
server_port = 8989
# 我们在访问 [本地服务器:22] 可直接用 [云服务器公网ip:222]方式访问

[Fusion-ssh]
# 方式
type = tcp
# 本地ip
local_ip = 127.0.0.1
# 本地穿透的端口
local_port = 22
# 映射的端口
remote_port = 222

[Fusion-xxx]
type = xxx
local_ip = 127.0.0.1
local_port = xxx
remote_port = xxx

启动客户端服务:

#开启客户端服务  方法一
./frpc -c ./frpc.ini
# 或者后台开启 方法二
nohup ./frpc -c ./frpc.ini &

4.6 安装 xrdp(远程桌面连接)

sudo apt install xrdp                  # 安装,默认自动启动
sudo systemctl status xrdp # 验证是否在运行
sudo adduser xrdp ssl-cert # 添加xrdp用到到ssl-cert组,不修改,默认只读
sudo systemctl restart xrdp # 重启xrdp服务

配置好后,就可以用Windows自带的远程桌面软件输入服务器的IP地址,就可以访问服务器。

4.7 安装 SAMBA(远程挂载硬盘)

sudo apt-get install samba samba-common-bin   # 安装SAMBA
sudo gedit /etc/samba/smb.conf # 配置文件

在文件末尾添加下面内容(注释需单独一行)

# 共享文件夹的命名
[home]
# 可以访问挂载硬盘的用户
comment = Fusion WorkStation Storage
# 共享文件的路径
valid users = wenjtop,root
# 可被其他人看到资源名称
path = /home/wenjtop/
# 文件可写
browseable = yes
# 新建文件的权限为 664
writable = yes
create mask = 0664
# 新建目录的权限为 775
directory mask = 0775

添加ubuntu以存在的用户wenjtop

sudo smbpasswd -a wenjtop             # 添加用户wenjtop
sudo /etc/init.d/samba-ad-dc restart # 重启服务

客户端操:我的电脑->计算机->映射网盘驱动->输入:\\192.168.188.41\home

4.8 安装搜狗拼音

4.8.1 安装fcitx输入框架

sudo apt install fcitx-bin
sudo apt-get install fcitx-table

选择fcitx框架,后重启

选择fcitx框架

现在就可以选择系统自带拼音(安装ubuntu时选择中文)

添加图片注释,不超过 140 字(可选)

4.8.2 下载搜狗拼音

http://pinyin.sogou.com

4.8.3 安装

sudo dpkg -i sogou...版本号.deb

# 若缺少依赖输入:sudo apt install 查看安装依赖包的命令行。

language->manage installed languages->输入法系统改成fcitx->重启

4.9 安装 google浏览器

sudo dpkg -i google-chrome-stable_current_amd64.deb     # 安装

4.10 安装向日葵

https://sunlogin.oray.com/download?categ=ent

sudo dpkg -i ./SunloginClient_11.0.1.44968_amd64.deb

4.11 修改pip源

sudo mkdir ~/.pip
sudo vim ~/.pip/pip.conf

内容替换为:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn

5 安装显卡驱动

重启

6 安装 CUDA 11.3

https://developer.nvidia.com/cuda-11.3.0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=deb_local

输入下面命令行:

wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run
如果安装驱动,就取消Driver

添加路径,修改.bashrc 文件:

sudo gedit ~/.bashrc

# 在末尾添加:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

# 更新:
source ~/.bashrc

安装成功:nvcc -V

7 安装 CuDNN

https://developer.nvidia.com/rdp/cudnn-download

需要注册登陆,下载cuDNN Library for Linux (x86_64)。

cuDNN Library for Linux (x86_64)
# 解压
tar -xzvf cudnn-11.3-linux-x64-v8.2.1.32.tgz

# 复制到 cuda路径下
sudo cp cuda/lib64/* /usr/local/cuda-11.3/lib64/
sudo cp cuda/include/* /usr/local/cuda-11.3/include/

# 查看CUDNN的版本信息
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

显示如上,说明安装成功。

8 Miniconda 安装

8.1 下载

https://docs.conda.io/en/latest/miniconda.html#

8.2 安装

chmod +777 ./Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh

8.3 更换源

https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

sudo gedit ~/.condarc

复制内容到.condarc

channels:
- defaults
show_channel_urls: true
default_channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

8.4 创建conda环境和激活环境

conda create -n torch python=3.8        # 创建环境  name表示环境名
conda activate torch # 激活环境 name表示环境名

显示如上,说明安装成功。

8.5 conda 常用命令

conda --version                                  # 查看conda版本
conda update conda # 更新至最新的conda

conda update --all # 更新当前环境所有包
conda update package_name # 指定包至最新

conda env list # 查看已有的虚拟环境
conda create -n python_3.9 python=3.9 # 创建虚拟环境
conda create --name Py_3.9 --clone python_3.9 # 复制虚拟环境
conda activate python_3.9 # 激活虚拟环境
conda remove -n python_3.9 --all # 删除虚拟环境

conda list # 查看当前环境所有包情况
conda search numpy # 查看numpy有哪些版本

conda install numpy # 安装numpy包在当前环境
conda remove numpy # 删除当前环境中的numpy包

conda config --remove-key channels # 回复默认源

conda install anaconda-clean # 卸载conda
anaconda-clean
anaconda-clean --yes

9 安装 pytorch

9.1 选择Pytorch版本

nvcc -V   #查看Pytorch对应的cuda版本,显示release 11.3, V11.3.58

9.2 在官网查找conda命令

https://pytorch.org/get-started/previous-versions/

命令行里面输入nvcc -V,查看cuda版本,若cuda为11.3,就选择下图标注框里的命令行安装。

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

我们在安装显卡驱动时会安装cudatoolkit,在安装pytorch时也会安装cudatoolkit?安装显卡驱动时,cudatoolkit是一个完整安装包,而安装pytorch时安装的cudatoolkit只会安装pytorch会使用的部分,两个cudatoolkit是独立的,都在工作在显卡驱动上,所以我们还需要安装cudnn。cudatoolkit和cuda版本必须一样。

验证是否安装成功

10 安装 pychram

ubuntu software直接搜索pychram。或者下面链接访问官网。

https://www.jetbrains.com/pycharm/download/#section=linux

导航栏:https://zhuanlan.zhihu.com/p/400628805

如果有疑问,建议,错误,欢迎留言大家指正。。。

公众号后台回复“极市直播”获取100+期极市技术直播回放+PPT
极市干货
技术干货损失函数技术总结及Pytorch使用示例深度学习有哪些trick?目标检测正负样本区分策略和平衡策略总结
实操教程GPU多卡并行训练总结(以pytorch为例)CUDA WarpReduce 学习笔记卷积神经网络压缩方法总结

点击阅读原文进入CV社区

收获更多技术干货

【声明】内容源于网络
0
0
极市平台
为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
内容 8155
粉丝 0
极市平台 为计算机视觉开发者提供全流程算法开发训练平台,以及大咖技术分享、社区交流、竞赛实践等丰富的内容与服务。
总阅读919
粉丝0
内容8.2k