迁移学习调用预训练模型出现Given input size: (512x3x3). Calculated output size: (512x-3x-3)错误

Posted dyclown

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迁移学习调用预训练模型出现Given input size: (512x3x3). Calculated output size: (512x-3x-3)错误相关的知识,希望对你有一定的参考价值。

    调用预训练模型ResNet18时报错:RuntimeError: Given input size: (512x3x3). Calculated output size: (512x-3x-3). 
Output size is too small at /opt/conda/conda-bld/pytorch_1535491974311/work/aten/src/THCUNN/generic/
SpatialAveragePooling.cu:
63

其解决方法是将倒数第二层的self.avgpool = nn.AdaptiveAvgPool2d((1, 1))替换为
self.avgpool = nn.AdaptiveAvgPool2d(1)即可。具体原因可能是一个bug.

参考:https://github.com/pytorch/vision/issues/696

以上是关于迁移学习调用预训练模型出现Given input size: (512x3x3). Calculated output size: (512x-3x-3)错误的主要内容,如果未能解决你的问题,请参考以下文章

从自定义预训练模型中删除层

在迁移学习预训练模型上训练新数据集

为啥我需要在迁移学习中预训练权重

手把手写深度学习(13):如何利用官方预训练模型做微调/迁移学习?(以Resnet50提取图像特征为例)

从预训练模型中移除顶层,迁移学习,张量流(load_model)

手把手写深度学习(14):如何利用官方预训练模型做微调/迁移学习?(以Resnet50提取图像特征为例)