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

yipeiwu_com5年前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批量生成任意尺寸的图片

利用Python批量生成任意尺寸的图片

实现效果 通过源图片,在当前工作目录的/img目录下生成1000张,分别从1*1到1000*1000像素的图片。 效果如下: 目录结构 实现示例 # -*- coding: ut...

详细讲解Python中的文件I/O操作

详细讲解Python中的文件I/O操作

 本章将覆盖所有在Python中使用的基本I/O功能。有关更多函数,请参考标准Python文档。 打印到屏幕上: 产生输出最简单的方法是使用print语句,可以通过用逗号分隔的...

Python实现计算最小编辑距离

Python实现计算最小编辑距离

最小编辑距离或莱文斯坦距离(Levenshtein),指由字符串A转化为字符串B的最小编辑次数。允许的编辑操作有:删除,插入,替换。具体内容可参见:维基百科—莱文斯坦距离。一般代码实现的...

Python字符串和文件操作常用函数分析

本文实例分析了Python字符串和文件操作常用函数。分享给大家供大家参考。具体如下: # -*- coding: UTF-8 -*- ''' Created on 2010-12-2...

python实现ipsec开权限实例

本文实例讲述了python实现ipsec开权限的方法。分享给大家供大家参考。具体实现方法如下: windows自带的命令行工具netsh ipsec static add filter不...