我用(5x128x128x3)大小的输入形状训练了一个CNN模型 我的训练重量是(5x128x128x3)
顺便说一下,我想用这个重量来训练(7x128x128x3)大小的输入数据
所以,这是我的问题 我应该只使用相同形状的输入吗? 我想知道我是否可以使用另一种尺寸(在本例中为7x128x128x3)的输入来进行迁移学习
ValueError: Error when checking input: expected input_1 to have shape (5, 128, 128, 3) but got arry with shape (7, 128, 128, 3)```
我们来分解尺寸(5x128x128x3):
第一个维度是批量大小(训练原始模型时为5)。这是不相关的,您可以将其设置为
None
,正如在注释中指出的那样,以向模型提供任意大小的批处理。你知道吗第二到第三个维度(128x128)是图像的宽度和高度,您可以更改这些维度,但是如果不知道模型结构和用于转移学习的层输出,就很难确定。您可以更改这些的原因是二维卷积滤波器在图像的二维维度(宽度和高度)上重复,因此它们对于不同的宽度和高度仍然有效(假设填充兼容)。但是,如果你改变了太多的二维维度,就有可能是层的感受野改变了,从而损害了迁移学习的表现。例如,如果网络中用于128x128输入的第7个conv层在每次激活时都能看到整个输入图像(128x128的接收域),那么如果将宽度和高度增加一倍,它将不再存在,并且该层可能无法识别某些全局特征。你知道吗
第四维度是输入图像中的通道数,不能更改,因为第一层中的过滤器在深度维度上有3个权重。你知道吗
相关问题 更多 >
编程相关推荐