pytorch 指定gpu训练与多gpu并行训练示例

yipeiwu_com6年前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()

以上这篇pytorch 指定gpu训练与多gpu并行训练示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python 窗体(tkinter)按钮 位置实例

如下所示: import tkinter def go(): #函数 print("go函数") win=tkinter.Tk() #构造窗体 win.title("he...

利用numpy实现一、二维数组的拼接简单代码示例

一维数组 1.numpy初始化一维数组 a = np.array([1,2,3]); print a.shape 输出的值应该为(3,) 二维数组 2.numpy初始化二维数组...

深入浅析ImageMagick命令执行漏洞

深入浅析ImageMagick命令执行漏洞

00 前言 什么是ImageMagick? ImageMagick是一个功能强大的开源图形处理软件,可以用来读、写和处理超过90种的图片文件,包括流行的JPEG、GIF、 PNG、PDF...

深入理解Python中的*重复运算符

在python中有个特殊的符号“*”,可以用做数值运算的乘法算子,也是用作对象的重复算子,但在作为重复算子使用时一定要注意 注意的是:*重复出来的各对象具有同一个id,也就是指向在内存...

python构建深度神经网络(续)

这篇文章在前一篇文章:python构建深度神经网络(DNN)的基础上,添加了一下几个内容: 1) 正则化项 2) 调出中间损失函数的输出 3) 构建了交叉损失函数 4) 将训练好的网络进...