做网站学cdr吗,网站后台图片,桂林行业网站,备案信息在哪里查命令行指定显卡GPU运行python脚本
在大型机构分配的服务器集群中#xff0c;需要使用GPU的程序默认都会在第一张卡上进行#xff0c;如果第一张卡倍别人占用或者显存不够的情况下#xff0c;程序就会报错说没有显存容量#xff0c;所以能够合理地利用GPU资源能帮助你更快更…命令行指定显卡GPU运行python脚本
在大型机构分配的服务器集群中需要使用GPU的程序默认都会在第一张卡上进行如果第一张卡倍别人占用或者显存不够的情况下程序就会报错说没有显存容量所以能够合理地利用GPU资源能帮助你更快更好地跑出实验效果。 1、指定使用GPU0运行脚本默认是第一张显卡, 0代表第一张显卡的id,其他的以此类推 第一种方式
CUDA_VISIBLE_DEVICES0 python ***.py第二种方式在python脚本文件中添加如下内容进行指定
import os
os.environ[CUDA_VISIBLE_DEVICES] 0如果在脚本文件中已经写明了第二种方式则不支持第一种方式的指定。 2、指定使用多张显卡运行脚本 在GPU的id为0和1的两张显卡上运行***.py程序
CUDA_VISIBLE_DEVICES0,1 python ***.py3、在单张显卡的情况下开启多个进程运行脚本 命令行程序如下其中NUM_GPUS_YOU_HAVE代表运行的进程数
说明程序会根据卡的容量分配成两个程序不一定在两张卡有时候一张卡的容量够则会在该张卡上开启新的进程。
python -m torch.distributed.launch --nproc_per_nodeNUM_GPUS_YOU_HAVE ***.py4、查看GPU状态 1、单次查看
nvidia-smi2、隔一秒查看GPU状态
watch -n 1 nvidia-smi使用指定gpu运行代码
一、前提
1、在命令行使用nvidia-smi查看gpu设备情况当存在空闲设备时才能用否则会出现运行内存不够出错的情况具体参考文章GPU之nvidia-smi命令详解 2、安装好cuda和cudcnn具体步骤请参考①windowsCUDA安装教程超详细②linuxlinux安装CUDAcuDNN 在命令行输入nvcc -V或者nvcc --version检查是否安装成功
二、命令行直接指定
运行python文件时在前面加上 CUDA_VISIBLE_DEVICESxxxxxx是你要指定的gpu序号。如CUDA_VISIBLE_DEVICES0,2 python extract_masks.py表示指定了0、2号两个gpu。注意序号是从0开始排的所以如果你只有一个gpu那么就是CUDA_VISIBLE_DEVICES0 python extract_masks.py。
三、在python文件中指定
在需要运行的python文件最开始加上两行如下等号后面的数字同上所述。
import os
os.environ[CUDA_VISIBLE_DEVICES] 0,2,3
# 注意这两行代码必须在文件的最开头在加载各种包之前四、如何使用
在python文件中定义需要加速的模型之后加上
model ......
model.train(True) or model.train(False) # 看你是要训练还是测试
model.to(cuda) # 或者model.cuda()
# 后面需要输入model的变量也是需要.to(cuda)或者.cuda()的不然会报错既用了cpu又用gpu不兼容