#作者: 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的显存使用率