【问题标题】:Spacial pyramid pooling in tensorflow with unknown shape未知形状张量流中的空间金字塔池化
【发布时间】:2020-04-21 17:40:08
【问题描述】:

我想在 tensorflow 中执行空间金字塔池化。 there(以及 Stackoverflow.com 中的其他问题)已经回答了这个问题,但建议的解决方案不适用于未知的输入形状。

是否有在图形定义中处理未知形状的实现?

【问题讨论】:

  • 分享您用于 SPP 的代码。考虑添加有关您的问题的更多详细信息。
  • 感谢您的评论。我使用的代码类似于链接中给出的代码。但是,我做了另一个解决问题的实现。我会把它写下来作为问题的答案。如果我的问题不清楚,请分享我如何改进它以获得更好的可见性。谢谢。

标签: tensorflow spatial-pooling


【解决方案1】:

为了解决这个问题,我想出了一个使用掩码的不同实现,使用最近邻重新缩放:

def avg_spp(self, input, scale, name, padding=DEFAULT_PADDING):
    eye = tf.eye(scale*scale, batch_shape=(tf.shape(input)[0],))
    mask = tf.reshape(eye, (-1, scale, scale, scale*scale))
    mask = tf.image.resize_nearest_neighbor(mask, tf.shape(input)[1:3])
    spp = tf.multiply(tf.expand_dims(input, 4), tf.expand_dims(mask, 3))
    spp = tf.divide(tf.reduce_sum(spp, axis=[1,2]), tf.cast(tf.count_nonzero(spp, axis=[1,2]), tf.float32))
    spp = tf.reshape(spp, (-1, tf.shape(input)[3], scale, scale))
    spp = tf.transpose(spp, [0,2,3,1], name=name)
    return spp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 1970-01-01
    • 2016-12-12
    相关资源
    最近更新 更多