【发布时间】:2016-11-23 00:43:22
【问题描述】:
我正在尝试在 Tensorflow 中构建多层感知器 (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")
我很高兴发布更多代码;为了简洁起见,我(到目前为止)还没有发布所有内容。
【问题讨论】:
-
你能提供更多代码吗?您的代码中似乎有一个无效的切片操作。
-
嗨,尼尔,我写出了完整的脚本。我可以发回导致问题的代码。 github.com/miramolin/TensorFlowTutorials/blob/master/…
标签: python numpy tensorflow