【问题标题】:Feed Dict Error in TensorflowTensorflow 中的 Feed dict 错误
【发布时间】: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")

我很高兴发布更多代码;为了简洁起见,我(到目前为止)还没有发布所有内容。

【问题讨论】:

标签: python numpy tensorflow


【解决方案1】:

尝试修改应从 0 开始的标签索引。在您的情况下,trainY = np.array([1, 1, 0])。我想它会解决你的问题。

【讨论】:

  • 根据错误回溯,您的 trainX 而非 trainY 中可能有错误
猜你喜欢
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-24
  • 1970-01-01
  • 2011-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多