码迷,mamicode.com
首页 > 其他好文 > 详细

pytorch中使用多显卡训练以及训练时报错:expect more than 1 value per channel when training, got input size..

时间:2019-11-01 20:42:34      阅读:904      评论:0      收藏:0      [点我收藏+]

标签:显卡   pre   code   图片   class   exp   python   需要   export   

pytorch在训练中使用多卡:

        conf.device = torch.device(‘cuda:0‘ if torch.cuda.is_available() else "cpu")
        conf.device_ids = list(conf.device_ids)
        self.model = torch.nn.DataParallel(self.model, device_ids=conf.device_ids)
        self.model.to(conf.device)

 然后在训练的命令行需要指定GPU:

export CUDA_VISIBLE_DEVICES=4,5,6,7

 在pytorch内部,conf.device_ids依旧是从0开始的;

 

训练的时候报错:

 

技术图片

 

是由于batchnorm层需要大于一个样本去计算其中的参数,网上搜索了解决方法是将dataloader的一个丢弃参数设置为true:

技术图片

 

但是我设置后依旧会报错,然后就在train里面人为修改了一下:

如果剩下的照片为1,那么就丢掉,就可以了:

技术图片

 

pytorch中使用多显卡训练以及训练时报错:expect more than 1 value per channel when training, got input size..

标签:显卡   pre   code   图片   class   exp   python   需要   export   

原文地址:https://www.cnblogs.com/rainsoul/p/11779176.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!