TensorFlow指数无效(超出界限)

时间:2015-11-26 08:35:20

标签: python tensorflow

您好我正在尝试使用自己的图像数据运行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 将indeces行更改为此行:

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

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

1 个答案:

答案 0 :(得分:1)

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

TensorFlow CIFAR10 Example