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读取指定字节长度的文本方法

软件版本 Python 2.7.13; Win 10 场景描述 1、使用python读取指定长度的文本; 2、使用python读取某一范围内的文本。 Python代码 test.txt文...

python实现连续变量最优分箱详解--CART算法

关于变量分箱主要分为两大类:有监督型和无监督型 对应的分箱方法: A. 无监督:(1) 等宽 (2) 等频 (3) 聚类 B. 有监督:(1) 卡方分箱法(ChiMerge) (2) I...

Python 中的range(),以及列表切片方法

range()函数配合循环一块使用很方便,今天来整理一下这个函数的主要用法,以及几个小例子 首先来看一下函数原型,非常简单: range(start,end [,step])...

对python 树状嵌套结构的实现思路详解

对python 树状嵌套结构的实现思路详解

原始数据 原始数据大致是这样子的: 每条数据中的四个数据分别是 当前节点名称,节点描述(指代一些需要的节点属性),源节点(即最顶层节点),父节点(当前节点上一层节点)。 datas...

Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例

最近正好在寻求一种Python的数据库ORM (Object Relational Mapper),SQLAlchemy (项目主页)这个开源项目进入了我的视线,本来想尝试着使用Djan...