TensorFlow - Tflearning 错误 feed_dict
TensorFlow - Tflearning error feed_dict
我正在 python 中处理 class 化问题。事实上,我在 TensorFlow 方面还不是很好。所以我很久以来就有同样的问题,我不知道如何解决。我希望你能帮助我:)
这是我的数据:
X : 8000 张图片 : 32*32px 和 3 种颜色 (rgb),所以我加载了一个矩阵 X.shape = (8000,32,32,3)
Y : 4 classes (1,2,3 and 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 (most recent call last):
File "", line 3, in
model.fit(X, Y)
File "/home/side/anaconda3/lib/python3.5/site-packages/tflearn/models/dnn.py",
line 157, in fit
self.targets)
File "/home/side/anaconda3/lib/python3.5/site-packages/tflearn/utils.py",
line 267, in feed_dict_builder
feed_dict[net_inputs[i]] = x
IndexError: list index out of range
我也尝试过将 X 作为 (8000,3072) 矩阵传递
Y为(8000,4)矩阵,例如:
[0 0 1 0 <-- Y[0] = 3
0 1 0 0 <-- Y[1] = 2
...]
我重复使用此代码:https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py,用于 class cifar10 数据。
感谢您的帮助,
西莉亚
转述自源代码:
输入的数量与预期的不符。
如果您使用的是 ipython 笔记本,请确保您没有多次 运行 图形构造单元格。或将图形构造包含在 with tf.Graph().as_default()
块中。
正如 motjuste 所说,当你使用带有 TFLearn 的笔记本时,你应该在每次 运行 你的代码时重新启动你的内核。
在 github 中查看此问题:
另一种选择是添加:
tf.reset_default_graph()
作为代码的第一行
正如Luis Leal所说,这是解决这个问题的好方法,但是添加这段代码后,错误如下
AttributeError: module 'tensorflow' has no attribute 'reset_default_graph'
所以,如果你也有同样的问题,你可以使用代码
from tensorflow.python.framework import ops
ops.reset_default_graph()
替换
tf.reset_default_graph()
我正在 python 中处理 class 化问题。事实上,我在 TensorFlow 方面还不是很好。所以我很久以来就有同样的问题,我不知道如何解决。我希望你能帮助我:)
这是我的数据:
X : 8000 张图片 : 32*32px 和 3 种颜色 (rgb),所以我加载了一个矩阵 X.shape = (8000,32,32,3)
Y : 4 classes (1,2,3 and 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 (most recent call last):
File "", line 3, in
model.fit(X, Y)
File "/home/side/anaconda3/lib/python3.5/site-packages/tflearn/models/dnn.py",
line 157, in fit
self.targets)
File "/home/side/anaconda3/lib/python3.5/site-packages/tflearn/utils.py", line 267, in feed_dict_builder feed_dict[net_inputs[i]] = x IndexError: list index out of range
我也尝试过将 X 作为 (8000,3072) 矩阵传递 Y为(8000,4)矩阵,例如:
[0 0 1 0 <-- Y[0] = 3
0 1 0 0 <-- Y[1] = 2
...]
我重复使用此代码:https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py,用于 class cifar10 数据。
感谢您的帮助,
西莉亚
转述自源代码:
输入的数量与预期的不符。
如果您使用的是 ipython 笔记本,请确保您没有多次 运行 图形构造单元格。或将图形构造包含在 with tf.Graph().as_default()
块中。
正如 motjuste 所说,当你使用带有 TFLearn 的笔记本时,你应该在每次 运行 你的代码时重新启动你的内核。
在 github 中查看此问题:
另一种选择是添加:
tf.reset_default_graph()
作为代码的第一行
正如Luis Leal所说,这是解决这个问题的好方法,但是添加这段代码后,错误如下
AttributeError: module 'tensorflow' has no attribute 'reset_default_graph'
所以,如果你也有同样的问题,你可以使用代码
from tensorflow.python.framework import ops
ops.reset_default_graph()
替换
tf.reset_default_graph()