mua*_*aaz 2 python machine-learning keras
我正在使用CNN,图像的尺寸和纵横比不同,因此在预处理步骤中对图像进行大小调整和中心裁切可能会丢失一些有价值的信息(特别是边缘,左右,上,下)。我认为,更好的方法是应用自适应最大池化(给定目标输出尺寸),以便在将图像传递到最终层之前调整图像的大小。在keras中,我可以添加一个简单的最大池化层,但是在keras中有没有办法告诉/限制最大池化层的输出大小?例如:如果图像的大小为800x1520,但所需的输出为200x200,则会应用最大池化,并将图像的大小调整为200x200
Keras中没有“自适应池化层”,但是有GlobalMaxPooling层家族。它们可以处理未定义的输入形状(即一个维可以是None),但始终具有相同的输出形状。
但是,请注意,在一个批次中,所有输入都必须具有完全相同的尺寸。如果所有图像的大小都不同,则意味着您只能将批处理大小限制为1,这将使训练和推理非常缓慢。
我建议您首先尝试查看将所有图像调整为相同大小时,或者如果填充较小的图像以使其达到与最大图像相同的尺寸时,模型的工作情况。这两个选项中哪个更好,显然取决于图像和您的特征检测体系结构,但是由于上述限制,使用可变输入大小应该是最后一个选择。
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |