【问题标题】:How to get mean square from two tensors?如何从两个张量获得均方?
【发布时间】:2018-04-30 11:11:28
【问题描述】:

我有 2 个形状张量 (10, 100, 2) 如何获得形状的均方损失(10, 100)

这是我尝试过的:

tf.sqrt(tf.square(tf.subtract(targets, logits))/n) 返回(10, 100, 2)

【问题讨论】:

  • 为什么我被否决了?相信很多人都有同样的疑问。
  • losses = tf.map_fn(lambda x: tf.map_fn(lambda y: tf.nn.l2_loss(y), x), tf.subtract(targets, logits))

标签: numpy tensorflow


【解决方案1】:

只需使用tf.reduce_meanaxis参数即可:

x = tf.reduce_mean(tf.sqrt(tf.subtract(targets, logits)), axis=2)

x.shape = (10,100)

【讨论】:

    【解决方案2】:
    losses = tf.map_fn(
                      lambda x: tf.map_fn(
                          lambda y: tf.nn.l2_loss(y),
                          x
                      ), 
                      tf.subtract(targets, logits)
             )
    

    这实现了均方的公式:l2_loss(targets - logits)

    【讨论】:

      猜你喜欢
      • 2018-06-16
      • 2020-07-08
      • 2019-07-20
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-15
      相关资源
      最近更新 更多