AttributeError: ‘AvgPool2d’ object has no attribute ‘divisor_override’
在调试一个pytorch的image-caption代码时,出现了这个报错
resnet的代码调用了一个pytorch内置的ResNet152,应该不会有错误。
怀疑是因为load已经训练好的参数时出现的问题。下载的参数可能版本与我的pytorch不一致。这次没有费力去找到底应该改成哪个版本,直接在载入数据后重新定义了resnet的avgpool2d层
encoder.resnet._modules['8'] = nn.AvgPool2d(kernel_size=7, stride=1, padding=0)
因为avgpool2d层没有需要训练的参数(我觉得应该是没有),所以直接初始化应该没问题(就算有问题也可以再单独训练然后保存一个自己的参数)。
代码来源https://github.com/tqxg2018/Image-Caption-Pytorch
其中的caption-traditional.py