首页 > 解决方案 > 如何调整标签张量的大小,以便我可以在 tf.nn.sigmoid_cross_entropy_with_logits 中使用它

问题描述

我有以下问题:

 cross_entropy = tf.nn.sigmoid_cross_entropy_with_logits(labels=labels, logits=logits)

这给了我

tensorflow.python.framework.errors_impl.InvalidArgumentError: Can not squeeze dim[1], expected a dimension of 1, got 18000 for 'remove_squeezable_dimensions/Squeeze' (op: 'Squeeze') with input shapes: [1024,18000]

这是有道理的,因为该函数需要一维的东西。所以我尝试了:

cross_entropy = tf.nn.sigmoid_cross_entropy_with_logits(labels=tf.argmax(labels, axis=1), logits=logits)

这给了我

ValueError: logits and labels must have the same shape ((1024, 18000) vs (1024,))

所以我的标签只是一定尺寸的图像,所以当我的标签有更多维度时,我应该如何给函数一些单维的东西我有点迷失了:/

标签: pythontensorflow

解决方案


推荐阅读