tensorflow中的feed dict误差



我正在尝试在TensorFlow中构建多层PESCEPTRON(MLP)。我正在使用使用numpy生成的数据集。数据集只有两个变量,其中一个是标签。该数据集包含在 [0-1]范围内标准化的100点。

print(trainX[0:3])
[ 0.2853112   0.2433195   0.56746888]

0.5上方的所有值,具有标签1,否则它们具有标签2

print(trainY[0:3])
  [2 2 1]

问题发生在tf.Session()环中。

with tf.Session() as sess:
    sess.run(init)
    for epoch in range(training_epochs):
        #avg_cost = 0.
        for (xs, ys) in zip(trainX, trainY):
            sess.run(optimizer, feed_dict={X:xs, Y:ys})

脚本在最后一行终止,带有以下错误:

InvalidArgumentError: Expected begin[0] == 0 (got -1) and size[0] == 0 (got 1)     when input.dim_size(0) == 0
 [[Node: Slice_132 = Slice[Index=DT_INT32, T=DT_INT32, _device="/job:localhost/replica:0/task:0/cpu:0"](Shape_134, Slice_132/begin, Slice_132/size)]]

在脚本中进一步,我声明了占位符如下:

X = tf.placeholder("float")
Y = tf.placeholder("float")

我很乐意发布更多代码;为了简洁的利益,我还没有(到目前为止)发布所有内容。

尝试修改您的标签索引,该标签索引应从0开始。在您的情况下,trainY = np.array([1, 1, 0])。我认为这可以解决您的问题。

最新更新