时间:2021-05-22
一. 指定一个gpu训练的两种方法:
1.代码中指定
import torchtorch.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并行训练示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文适合多GPU的机器,并且每个用户需要单独使用GPU训练。虽然pytorch提供了指定gpu的几种方式,但是使用不当的话会遇到outofmemory的问题,主
这几天在一机多卡的环境下,用pytorch训练模型,遇到很多问题。现总结一个实用的做实验方式:多GPU下训练,创建模型代码通常如下:os.environ['CU
Tebsorflow开源实现多GPU训练cifar10数据集:cifar10_multi_gpu_train.pyTensorflow开源实现cifar10神经
注:本文针对单个服务器上多块GPU的使用,不是多服务器多GPU的使用。在一些实验中,由于Batch_size的限制或者希望提高训练速度等原因,我们需要使用多块G
之前的文章讲过用Tensorflow的objectdetectionapi训练MobileNetV2-SSDLite,然后发现训练的时候没有利用到GPU,反而C