我必须建立一个接收不同大小图像的网络。我不想调整大小或裁剪,所以我使用的是完全卷积网络。
问题是由于每个图像的大小不同,我无法预先创建小批量。
一种解决方案是在预期的小批量中获取最大的图像,并对所有其他图像进行零填充以适应相同的大小。但是,这在时间和内存方面效率不高,尤其是因为图像的大小差异很大(甚至 30 像素到 3000 像素)。
我现在使用的另一个解决方案是创建 1 的小批量,这当然可以解决不同大小的问题,但它不利于收敛。
所以问题是 Keras 是否提供了一些方法来从多个输入中收集梯度,然后才采取学习步骤?