tflearn在CNN培训中引发无效参数错误

时间:2017-06-11 15:36:12

标签: python-3.x tensorflow deep-learning conv-neural-network tflearn

我正在通过sentdex阅读CNN教程,这是我在我的系统上编写的用于训练模型的代码。

model.fit({'input': X}, {'targets': Y}, n_epoch=5, validation_set=({'input': test_x}, {'targets': test_y}), 
snapshot_step=500, show_metric=True, run_id=MODEL_NAME)

这给了我一个无效的参数错误:

  

您必须为占位符张量输入一个值" input_1 / X'与dtype   float [[Node:input_1 / X = Placeholderdtype = DT_FLOAT,shape = [],   _device =" /作业:本地主机/复制:0 /任务:0 / CPU:0"]]

我在windows 10和tensorflow 1.1.0中使用python 3.5并且tflearn 0.3.1

这些是数据变量

X = np.array([i[0] for i in train]).reshape(-1,IMG_SIZE,IMG_SIZE,1)
Y = [i[1] for i in train]

test_x = np.array([i[0] for i in test]).reshape(-1,IMG_SIZE,IMG_SIZE,1)
test_y = [i[1] for i in test]

以下是convnet架构代码:

import tflearn

from tflearn.layers.conv import conv_2d, max_pool_2d
from tflearn.layers.core import input_data, dropout, fully_connected
from tflearn.layers.estimator import regression


convnet = input_data(shape=[None, IMG_SIZE, IMG_SIZE, 1], name='input')

convnet = conv_2d(convnet, 32, 2, activation='relu')
convnet = max_pool_2d(convnet, 2)

convnet = conv_2d(convnet, 64, 2, activation='relu')
convnet = max_pool_2d(convnet, 2)

convnet = fully_connected(convnet, 1024, activation='relu')
convnet = dropout(convnet, 0.8)

convnet = fully_connected(convnet, 2, activation='softmax')
convnet = regression(convnet, optimizer='adam', learning_rate=LR, 
loss='categorical_crossentropy', name='targets')

model = tflearn.DNN(convnet,tensorboard_dir='log')

0 个答案:

没有答案