我正在尝试在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])
。我认为这可以解决您的问题。