【问题标题】:TensorFlow - Tflearning error feed_dictTensorFlow - Tflearning 错误 feed_dict
【发布时间】:2016-06-27 22:53:08
【问题描述】:

我正在研究 python 中的分类问题。事实是,我在 TensorFlow 方面还不够好。所以很久以来我都有同样的问题,我不知道如何解决它。我希望你能帮助我:)

这是我的数据:

X:8000 张图片:32*32px 和 3 种颜色 (rgb),所以我加载了一个矩阵 X.shape = (8000,32,32,3)

Y:4 类(1、2、3 和 4):Y.shape = (8000,1)

这是我的代码:

network = input_data(shape=[None, 32, 32, 3], name='iput')                   
# Step 1: Convolution
network = conv_2d(network, 32, 3, activation='relu')
# Step 2: Max pooling
network = max_pool_2d(network, 2)
# Step 3: Convolution again
network = conv_2d(network, 64, 3, activation='relu')
# Step 4: Convolution yet again
network = conv_2d(network, 64, 3, activation='relu')
# Step 5: Max pooling again
network = max_pool_2d(network, 2)
# Step 6: Fully-connected 512 node neural network
network = fully_connected(network, 512, activation='relu')
# Step 7: Dropout - throw away some data randomly during training to prevent over-fitting
network = dropout(network, 0.5)
# Step 8: Fully-connected neural network with 4 outputs
network = fully_connected(network, 4, activation='softmax')
# Tell tflearn how we want to train the network
network = regression(network, optimizer='adam',
                     loss='categorical_crossentropy',
                     learning_rate=0.001)
model = tflearn.DNN(network)                
model.fit(X, Y)

这是我的错误

Traceback(最近一次通话最后一次):

文件“”,第 3 行,在

model.fit(X, Y)

文件“/home/side/anaconda3/lib/python3.5/site-packages/tflearn/models/dnn.py”,

第 157 行,合适

self.targets)

文件“/home/side/anaconda3/lib/python3.5/site-packages/tflearn/utils.py”, 第 267 行,在 feed_dict_builder 中 feed_dict[net_inputs[i]] = x IndexError: 列表索引超出范围

我也尝试将 X 作为 (8000,3072) 矩阵传递 以 Y 为 (8000,4) 矩阵,例如:

[0 0 1 0

0 1 0 0

...]

我重用了这段代码:https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py,用于对 cifar10 数据进行分类。

感谢您的帮助,

西莉亚

【问题讨论】:

  • 这很难说,因为您正在使用特定的代码库来训练您的分类器。在我尝试复制错误之前,在 utils 的第 267 行设置一个断点,让我知道 input_data 和 X 的结构是什么。
  • X 是包含图像像素的矩阵列表。例如,X[0] 包含 3 个矩阵 (28x28)
  • input_data :

标签: python tensorflow deep-learning


【解决方案1】:

另一种选择是添加:

tf.reset_default_graph()

作为代码的第一行

【讨论】:

    【解决方案2】:

    从源代码转述:

    输入的数量与预期的不匹配。 如果您使用的是 ipython notebook,请确保您没有多次运行图形构建单元。或者将图形构造包含在 with tf.Graph().as_default() 块中。

    【讨论】:

    • 嗨!我不使用笔记本。您能否解释更多“inut 的数量与预期的不匹配”?我的 X 矩阵是 (8000,32,32,3) 并且 input_data 是相同的。谢谢你:)
    • 嘿!...我之前没有使用过tflearn,但是来自source code...我有一个建议...你可以尝试将XY设为单项列表...如X, Y = [X], [Y],然后调用model.fit(X, Y)
    【解决方案3】:

    正如 motjuste 所说,当您使用带有 TFLearn 的笔记本时,您应该在每次运行代码时重新启动内核。

    在 github 中查看此问题:

    https://github.com/tflearn/tflearn/issues/360

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-21
      • 2016-12-09
      • 2017-03-02
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多