时间:2020-12-23 11:37:59 | 栏目:Python代码 | 点击:次
一. 指定一个gpu训练的两种方法:
1.代码中指定
import torch torch.cuda.set_device(id)
2.终端中指定
CUDA_VISIBLE_DEVICES=1 python 你的程序
其中id就是你的gpu编号
二. 多gpu并行训练:
torch.nn.DataParallel(module, device_ids=None, output_device=None, dim=0)
该函数实现了在module级别上的数据并行使用,注意batch size要大于GPU的数量。
参数 :
module:需要多GPU训练的网络模型
device_ids: GPU的编号(默认全部GPU,或[0,1] ,[0,1,2])
output_device:(默认是device_ids[0])
dim:tensors被分散的维度,默认是0
在保存模型时要注意要加上"module",例如:
network.module.state_dict()