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实现的去除win下文本文件头部BOM的代码

问题:windows环境下新建或编辑文本文件,保存时会在头部加上BOM。使用ftp上传到linux下,在执行时第一行即报错。以下方法可以去除BOM头,有需要的朋友可以参考下。 复制代码...

Pycharm中Python环境配置常见问题解析

Pycharm中Python环境配置常见问题解析

本文实例讲述了Pycharm中Python环境配置常见问题。分享给大家供大家参考,具体如下: 1、问题的发现 最近在用Pycharm下的命令行工具安装、运行jupyter noteboo...

django框架F&Q 聚合与分组操作示例

本文实例讲述了django框架F&Q 聚合与分组操作。分享给大家供大家参考,具体如下: F 使用查询条件的值,专门取对象中某列值的操作,可以对同一个表中的两个列进行比较 from d...

Python序列循环移位的3种方法推荐

第一种方法:特点是直接、容易理解,缺点是速度慢,只能实现循环左移。 def demo(lst, k): temp = lst[:] for i in range(k):...

利用Python循环(包括while&for)各种打印九九乘法表的实例

利用Python循环(包括while&for)各种打印九九乘法表的实例

一.for循环打印九九乘法表 #注意:由于缩进在浏览器不好控制,请大家见谅,后续会有图片传入。 1.1 左下角   for i in range(1,10):     for j...