使预训练的 mxnet 网络完全卷积

making a pre-trained mxnet network fully convolutional

我希望将现有的预训练 mxnet 模型之一 available here 转换为完全卷积模型。

这意味着能够输入任意大小的图像,指定步幅,并获得完整的输出。 例如,假设模型是在 224x224x3 图像上训练的。我想输入一个 226x226x3 的图像并指定 stride=1,以获得 3x3xnum-类 输出。 我不是在问 "theoretically",而是在询问示例代码:-)

谢谢!

根据这个例子:https://github.com/dmlc/mxnet-notebooks/blob/master/python/tutorials/predict_imagenet.ipynb

您可以在绑定模型时更改数据形状:

mod.bind(for_training=False, data_shapes=[('data', (1,3,226,226))])

然后就可以输入一张3 * 226 * 226的图片了

另一个例子:http://mxnet.io/how_to/finetune.html

这个例子用fc层替换了pre-trained模型的最后一层。