Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python tensorflow中预测函数的错误输出_Python_Tensorflow_Classification_Pixel_Tflearn - Fatal编程技术网

Python tensorflow中预测函数的错误输出

Python tensorflow中预测函数的错误输出,python,tensorflow,classification,pixel,tflearn,Python,Tensorflow,Classification,Pixel,Tflearn,我将对图像执行基于像素的分类。下面是我用来训练NN的代码 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',

我将对图像执行基于像素的分类。下面是我用来训练NN的代码

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_列的int值介于2和5之间),但预测函数的输出仍然是1。这可能是培训阶段的问题吗?

参数
None
用于表示不同的培训示例。在您的情况下,由于您正在使用的自定义四通道数据集,每个图像总共有
28*28*4
参数

要使此LSTM工作,您应该尝试执行以下操作-

X = np.reshape(X, (-1, 28, 28, 4))
testX = np.reshape(testX, (-1, 28, 28, 4))

net = tflearn.input_data(shape=[None, 28, 28, 4])
当然,(这一点非常重要),请确保
重塑()
将与numpy阵列的最后一个维度中的单个像素对应的四个不同通道放置,并且
28、28
对应于单个图像中的像素



如果您的图像没有尺寸
28*28
,请相应调整这些参数。

您肯定需要增加
n\u epoch
。我没有使用过
tf_learn
软件包,但是当你的问题是分类时,你怎么能使用
regression
呢?我是新手,只想做一些测试,只是从TFlearn网页上复制了这段代码,试着将
n_epoch
增加到5或10,看看是否有帮助?您是否在所有测试数据中始终获得
1
?是的,输出为1,并且似乎训练和预测不正确。您是否准确复制了Github代码,或者
输入数据中是否存在差异?不确定。我在这里遵循了这个例子。在我的情况下,我需要改变6到4,因为我有4个功能为每个像素。但是预测结果始终是1,尽管我预计是1和2。1个标签对应绿色像素,2个标签对应棕色像素。