【发布时间】:2017-05-15 19:42:43
【问题描述】:
我将对图像执行基于像素的分类。这是我用来训练神经网络的代码
net = input_data(shape=[None, 1,4])
net = tflearn.lstm(net, 128, return_seq=True)
net = tflearn.lstm(net, 128)
net = tflearn.fully_connected(net, 1, activation='softmax')
net = tflearn.regression(net, optimizer='adam',
loss='categorical_crossentropy')
model = tflearn.DNN(net, tensorboard_verbose=2, checkpoint_path='model.tfl.ckpt')
X_train = np.expand_dims(X_train, axis=1)
model.fit(X_train, y_train, n_epoch=1, validation_set=0.1, show_metric=True,snapshot_step=100)
问题是,在训练模型之后, p.array(model.predict(x_test)) 的结果仅为 1,尽管我预计它是 2 或 3。在一个示例中,我有 4 类对象,我希望该命令的结果是 2 到 5 之间的标签(注意:y_train 的 int 值介于 2 和 5 之间)但预测函数的输出再次为 1。这可能是训练阶段的问题吗?
【问题讨论】:
-
你肯定需要增加
n_epoch。我没用过tf_learn这个包,但是当你的问题是分类的时候你怎么用regression呢? -
我是新手,只是想进行一些测试,只是从github.com/tflearn/tflearn/blob/master/examples/images/…的TFlearn网页复制了这段代码
-
尝试将
n_epoch增加到 5 或 10,看看是否有帮助?您是否始终在所有测试数据中获得1? -
是的,输出为 1,似乎训练和预测都不正确。
-
你复制的Github代码是不是和
input_data有区别?
标签: python tensorflow classification pixel tflearn