发现在使用如下torch.nn.DataParallel,原有模型的字典结构会发生一定变化
model
= Model
()
if torch
.cuda
.device_count
() > 1:
model
= nn
.DataParallel
(model,device_ids
=[0,1,2])
model
.to
(device
)
使用前
self._model Ner( (cnn): ResNet(
使用后
原有属性嵌套到了`DataParallel的module属性中
self._model DataParallel( (module): Net( (cnn): ResNet(
因此在调用原有self._model的参数时候,就变成了self._model.module