如何在keras中将一层上采样到任意大小?

spi*_*der 5 deep-learning caffe keras

我想将大小为 (w,h,channels) 的一层上采样到大小 (w',h',channels),但 Upsample2D 层只能上采样到双倍大小。

任何人都可以告诉我如何进行任何尺寸的上采样?

Dar*_*nus 5

KerasUpSample2D 可以上采样到不同的大小,而不仅仅是双倍大小。从 Keras文档中我们可以看到这一层是这样表示的:

keras.layers.UpSampling2D(size=(2, 2), data_format=None)

2D 输入的上采样层。

分别按 size[0] 和 size[1] 重复数据的行和列。

默认size值确实是(2,2),因此在这种情况下,您的上采样将是双倍。通过指定您想要的大小,您可以根据您的需要将采样上采样到不同的大小。因此,如果您想要上采样因子为 3,那么您应该使用size=(3,3)等。

作为替代方案,如果您想要真正适合您的情况的内容,您还可以定义自己的自定义层。例如,这里有一个关于创建自定义池函数的 Github 问题(与上采样层相反,因此很容易比较),如果您需要此类自定义层,它可以为您提供帮助。

  • @spider如果你想上采样五次(即每行和每列获得五次),那么尝试使用“size=(5,5)”。很高兴有帮助:) (2认同)