深度学习之python使用指定gpu运行代码
运行python文件时,在前面加上 CUDA_VISIBLE_DEVICES=xxx,xxx是你要指定的gpu序号。如`CUDA_VISIBLE_DEVICES=0,2 python extract_masks.py`表示指定了0、2号两个gpu。注意,序号是从0开始排的,所以如果你只有一个gpu,那么就是`CUDA_VISIBLE_DEVICES=0 python extract_masks.p
·
一、前提
1、在命令行使用nvidia-smi查看gpu设备情况,当存在空闲设备时才能用,否则会出现运行内存不够出错的情况(具体参考文章GPU之nvidia-smi命令详解);
2、安装好cuda和cudcnn(具体步骤请参考:①windows:CUDA安装教程(超详细)),②linux:linux安装CUDA+cuDNN)
在命令行输入nvcc -V或者nvcc --version检查是否安装成功:

二、命令行直接指定
运行python文件时,在前面加上 CUDA_VISIBLE_DEVICES=xxx,xxx是你要指定的gpu序号。如CUDA_VISIBLE_DEVICES=0,2 python extract_masks.py表示指定了0、2号两个gpu。注意,序号是从0开始排的,所以如果你只有一个gpu,那么就是CUDA_VISIBLE_DEVICES=0 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,不兼容
更多推荐
所有评论(0)