TensorFlow 索引无效(超出范围)

TensorFlow Indices are not valid (out of bounds)

您好,我目前正在尝试 运行 TensorFlow 使用自己的图像数据。 但是当我尝试 运行 这些功能时它崩溃了:它来自 mnist.py

def loss_fn(logits, labels):
    batch_size = tf.size(labels)
    labels = tf.expand_dims(labels, 1)
    indices = tf.expand_dims(tf.range(0, batch_size, 1), 1)
    concated = tf.concat(1, [indices, labels])
    onehot_labels = tf.sparse_to_dense(
             concated, tf.pack([batch_size, NUM_CLASSES]), 1.0, 0.0)
    cross_entropy = tf.nn.softmax_cross_entropy_with_logits(logits,
                     onehot_labels,name='xentropy')
    loss = tf.reduce_mean(cross_entropy, name='xentropy_mean')
    return loss

出现此错误:

Compute status: Invalid argument: Indices are not valid (out of bounds).  Shape: dim { size: 100 } dim { size: 447 }

100 是我的 batch_size,447 是我的 类。

我也尝试像这里一样解决这个问题 https://github.com/tensorflow/tensorflow/issues/194 将索引行更改为这一行:

indices = tf.expand_dims(tf.range(0, batch_size, 1), 1)

没有解决我的问题。 有人有想法吗?

我也有这个错误。我意识到我的错误。如果您有 10 类,您的标签值应介于 0-9 之间(含)。该错误在与 SVHN 数据集一起使用的 TensorFlow CIFAR10 示例中重现。参考下面的问答。