Linux服务器配置Python+PyTorch+CUDA深度学习环境

前言

远程链接Linux服务器 - Windows:详见本人另一篇文章,链接
本地配置Python+PyCharm+PyTorch+CUDA深度学习环境:详见本人另一篇文章,链接
Python安装第三方库:详见本人另一篇文章,链接
pip常用命令:详见本人另一篇文章,链接

本篇文章介绍如何在Linux服务器上配置Python+PyTorch+CUDA深度学习环境。包含安装Anaconda、Python虚拟环境、配置PyTorch+CUDA环境、服务器使用教程、conda命令、等内容。

配置前需要通过Xshell软件连接到Linux服务器,连接方法详见我的另一篇文章,链接

安装Anaconda

下载

Anaconda官网:链接
个人版下载网址:链接
早期版本下载网址:链接

安装

使用Xftp软件将Linux版安装包传到服务器端,并使用Xshell软件连接到服务器命令行,cd到安装包所在文件夹,使用bash命令进行安装,命令如下:

bash package

输入命令anaconda -V可以查看Anaconda的版本。

更新

输入如下命令可更新Anaconda:

conda update anaconda

或将新的Linux版安装包传输到服务器上,cd到安装包所在文件夹,使用如下命令可以进行Anaconda的更新:

bash package -u

Python虚拟环境

创建Python虚拟环境

注意: 若初次使用conda命令报错,是因为没有将conda添加到环境变量,根据报错的提示输入命令即可将其添加到环境变量。

安装好Anaconda后,可以通过命令创建Python虚拟环境,命令如下:

conda create -n [venvName] python=[version]

如:

conda create -n py36 python=3.6

即创建一个Python版本为3.6的名为py36的虚拟环境。

进入虚拟环境

要使用虚拟环境,需要先激活它,即进入虚拟环境,命令如下:

conda activate [venvName]
# 或
source activate [venvName]

删除虚拟环境

命令如下:

conda remove -n [venvName] --all

配置PyTorch+CUDA环境

安装显卡驱动

若Linux服务器已经安装好显卡驱动,则无需重复安装,可以通过命令nvidia-smi查看是否安装驱动,若安装,则效果如下图:
在这里插入图片描述
若未安装显卡驱动,则需安装显卡驱动。

NVIDIA官网:链接

简要流程:在NVIDIA官网搜索指定显卡型号(如,RTX3090)的驱动下载并安装,驱动的版本越新,支持的最高CUDA版本越新(新版本的CUDA要求新版本的驱动,新版本的驱动可以兼容旧版本的CUDA)。

具体安装过程在这里不在详细介绍,因为不是本文的重点,读者可以自行查看其他教程进行驱动安装。

查看服务器CUDA版本

在服务器命令行中输入命令:

nvidia-smi

可以查看CUDA的版本,效果如下图:
在这里插入图片描述

安装PyTorch

PyTorch官网:链接
早期版本的安装命令:链接

一定要安装对应CUDA版本的PyTorch,安装命令点击官网的Get started查看。

服务器使用教程

查看GPU使用状态

安装gpustat
输入命令:

pip install gpustat

查看GPU使用状态:

gpustat
# 或
gpustat -cpu

实时查看GPU使用状态:

gpustat -i
或
gpustat -i [time]

其中,[time]的单位为秒。

运行Python代码

命令如下:

python path/filename.py

cd到代码文件夹,输入如下命令:

python filename.py

为代码指定显卡

在服务器终端指定GPU

CUDA_VISIBLE_DEVICES=0    python  your_file.py  # 指定GPU集群中第一块GPU使用,其他的屏蔽掉

CUDA_VISIBLE_DEVICES=1           Only device 1 will be seen
CUDA_VISIBLE_DEVICES=0,1         Devices 0 and 1 will be visible
CUDA_VISIBLE_DEVICES="0,1"       Same as above, quotation marks are optional 多GPU一起使用
CUDA_VISIBLE_DEVICES=0,2,3       Devices 0, 2, 3 will be visible; device 1 is masked
CUDA_VISIBLE_DEVICES=""          No GPU will be visible

在python代码中指定

import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0"   #指定第一块gpu

为GPU设置使用量

config = tf.ConfigProto() 
config.gpu_options.per_process_gpu_memory_fraction = 0.9 # 占用GPU90%的显存 
session = tf.Session(config=config)

使GPU的使用量可持续增长

config = tf.ConfigProto() 
config.gpu_options.allow_growth = True 
session = tf.Session(config=config)

附录:conda命令

详细命令

请查看这篇文章:链接

常用命令如下

conda update conda #更新 conda
conda update anaconda #更新 anaconda 
conda activate xxxx #开启xxxx环境
conda deactivate  #关闭环境
conda remove -n xxxx --all  #删除xxxx环境
conda env list #显示所有的虚拟环境
conda info --envs #显示所有的虚拟环境

conda list         #查看已经安装的文件包
conda list -n xxxx       #指定查看xxxx虚拟环境下安装的package
conda update xxxx   #更新xxxx文件包
conda uninstall xxxx   #卸载xxxx文件包

数据源

若国外的数据源导致下载缓慢,则可以更换为国内的数据源:

#显示目前conda的数据源有哪些
conda config --show channels
#添加数据源:例如, 添加清华anaconda镜像:
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
#删除数据源
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/

猜你喜欢

转载自blog.csdn.net/NSJim/article/details/115386936