![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
无涯阁主
https://github.com/D-Keqi
展开
-
Pytorch多GPU训练踩坑记录2
问题介绍使用nn.DataParallel进行多GPU训练时,对模型进行传参,有时会出现报错“RuntimeError: chunk expects at least a 1-dimensional tensor”。问题分析nn.DataParallel的作用是将模型和数据分配到各个GPU上,让其在各自的GPU上训练,首先检查batchsize是否是GPU数量的整数倍,以及dataloader是否设置了drop_last是否是true,如果没有drop_last,那么最后一个batchsize剩下的数原创 2020-07-13 17:56:52 · 3360 阅读 · 0 评论 -
使用Pytorch多GPU训练RNN网络踩坑记录
问题介绍在构建LAS端到端语音识别网络模型时,encoder使用了nn.GRU,decoder使用了nn.LSTMCell,在单个GPU上训练时,一切正常,使用nn.DataParallel进行多GPU训练时,一直报错。问题在使用DataParallel时,pytorch会把forward函数参数里同一个batch的数据拆分到不同GPU里,而不会拆分形如http://self.xxx的类的属性拆分掉。如果检查属性量的device,可以发现它们初始化在cuda:0中后没有改变设备号。解决方案方案一原创 2020-06-26 22:17:37 · 862 阅读 · 1 评论