我在为单通道数据集微调fcn-alexnet时遇到错误

时间:2017-03-31 11:17:47

标签: deep-learning caffe pycaffe matcaffe nvidia-digits

我正在运行fcn-alexnet进行语义分段,我下载了预训练模型。由于我的数据是单通道,因此显示错误:

 ERROR: Cannot copy param 0 weights from layer 'conv1'; shape mismatch. Source param shape is 96 3 11 11 (34848); target param shape is 96 1 11 11 (11616). To learn this layer's parameters from scratch rather than copying from a saved net, rename the layer.

有人可以指导我吗? 形状如下:

Feature shape (1, 256, 256)
Label shape (1, 256, 256)

1 个答案:

答案 0 :(得分:0)

如果你只需要重新训练最后一层,你可以重命名它(参见这个答案:https://stackoverflow.com/a/39837047/2404152)。

在您的情况下,问题是96x3x11x11!= 96x1x11x11。您正在尝试将用于彩色图像的预训练模型应用于灰度数据集(如您已发现的那样)。最简单的方法是在彩色图像上进行训练。一种方法是添加Tile图层以复制输入三次。

显然,这不会非常有效。但这是我能想到在灰度数据上使用预训练模型的唯一方法。