我们可以创建一个具有可变大小输入的卷积神经网络
ip = keras.layers.Input((None, None, 3))
op = keras.layers.Conv2D(3, (2, 2))(ip)
model=keras.models.Model(inputs = [ip], outputs = [op])
有没有办法知道特定输入的输出层操作的大小?
我知道有一个公式可以计算这个简单示例的大小。有没有办法让模型为我计算尺寸?
我可以做到的一种方法是运行一些示例数据。
x = numpy.random.random((1, 64, 64, 3))
y = model(x)
现在我可以看到它们的形状 1, 64, 64, 3 和 1, 63, 63, 3。
我的目标是能够使用不同的 cnn 网络,但我不知道如何计算一般大小,例如 Resnet101。我的输出有不同的缩放值,并且我希望能够在训练期间缩放我的地面实况数据。
我可以仅从模型和输入数据获取输出大小,而无需运行样本吗?