Ubuntu系统深度学习环境配置全指南(下)

#作者: stackofumbrella

文章目录

Ubuntu安装Pytorch

为PyTorch单独创建conda环境

新版python已经自带pytorch库了,但为了不污染系统环境,可以安装anaconda为pytorch创建一个干净且独立的python环境

anaconda的安装详见《Ubuntu安装Anaconda》

$ conda create -n pytorch python=python版本号

虚拟环境创建完成

进入Pytorch官网找到linux下的安装代码

Pytorch官网:https://pytorch.org/

进入到刚创建的Pytorch的conda环境

$ conda activate pytorch

如图表示成功进入pytorch的conda环境

安装Pytorch

$ conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

检查pytorch是否安装成功

进入到python环境输入以下命令

到此pytorch安装成功
搜索当前可用的tensorflow版本

$ anaconda search -t conda tensorflow

选择一个较新的CPU或GPU版本,如jjh_cio_testing/tensorflow-gpu的1.0.1版本,输入如下命令查询安装命令

$ anaconda show jjh_cio_testing/tensorflow-gpu

$ conda install --channel https://conda.anaconda.org/jjh_cio_testing tensorflow-gpu

conda会自动检测安装此版本的tensorflow所依赖的库,如果anaconda缺少这些依赖库,会提示安装。因为这里已经安装过了,所以只提示安装tensorflow。输入y并回车之后等待安装结束即可。

python安装tensorflow

pip install tensorflow2.3.0 -i https://pypi.tuna.tsinghua.edu.cn/simple pip install tensorflow2.3.0 -i https://mirrors.aliyun.com.pypi/simple

python指定GPU运行

各参数设置的含义

复制代码
CUDA_VISIBLE_DEVICES=1    #指定编号为1的GPU运行使用,其他的被忽略
CUDA_VISIBLE_DEVICES=0,1         #编号为0和1的GPU都被使用
CUDA_VISIBLE_DEVICES="0,1"       #指定多GPU一起使用
CUDA_VISIBLE_DEVICES=""             #所有GPU都被忽略

临时设置(临时设置一定要在第一次使用cuda之前进行)

复制代码
Linux系统指定GPU编号运行
# export CUDA_VISIBLE_DEVICES=GPU编号

windows系统设置
>set CUDA_VISIBLE_DEVICES=GPU编号

在Python代码中指定GPU

复制代码
import os

os.environ["CUDA_VISIBLE_DEVICES"] = "0"

设置定量的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)

查看GPU状态,每隔1秒刷新一次

复制代码
# watch -n 1 nvidia-smi

各个数据含义

GPU:GPU编号

Name:GPU型号

Persistence-M:持续模式的状态。持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态

Fan:风扇转速,从0到100%之间变动;

Temp:温度,单位是摄氏度

Perf:性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能(即GPU未工作时为P0,达到最大工作限度时为P12)

Pwr:Usage/Cap:能耗

Memory Usage:显存使用率

Bus-Id:涉及GPU总线的东西

Disp.A:Display Active,表示GPU的显示是否初始化

Volatile GPU-Util:浮动的GPU利用率

Uncorr. ECC:Error Correcting Code,错误检查与纠正

Compute M:计算模式

下方的Processes表示每个进程对GPU的显存使用率

相关推荐
AI人工智能+14 分钟前
表格识别技术:完整还原银行对账单表格结构、逻辑关系及视觉布局,大幅提升使处理速度提升
人工智能·深度学习·ocr·表格识别
唐·柯里昂79816 分钟前
野火鲁班猫5使用正点原子 RTL8188EUS Wifi模块驱动移植(Linux5.10 Debian系统) 解决zsh报错
linux·c语言·mcu·物联网·ubuntu·硬件工程·软件构建
胡乱编胡乱赢28 分钟前
Decaf攻击:联邦学习中的数据分布分解攻击
人工智能·深度学习·机器学习·联邦学习·decaf攻击
远上寒山31 分钟前
DINO 系列(v1/v2/v3)之二:DINOv2 原理的详细介绍
人工智能·深度学习·自监督·dinov2·自蒸馏·dino系列
源梦想33 分钟前
机甲恐龙动作冒险网页小游戏Linux部署教程
linux·运维·服务器
_codemonster38 分钟前
深度学习实战(基于pytroch)系列(四十)长短期记忆(LSTM)从零开始实现
人工智能·深度学习·lstm
Hoshino.4142 分钟前
从0开始学习Linux——第七部分:DNS(1)
linux·网络·学习
yiyeguzhou1001 小时前
论文解读:Overcoming the IOTLB wall for multi-100-Gbps Linux-based networking
linux·运维·服务器
Y淑滢潇潇1 小时前
RHCE Day 7 SHELL概述和基本功能
linux·前端·rhce
_Twink1e1 小时前
【HCIA-AIV4.0】2025题库+解析(二)
人工智能·深度学习·机器学习