0
我有一個包含4個波段的RGBI圖像,並希望能夠使用張量流和深度學習將圖像像素分爲兩類。 在訓練數據中,每個像素被認爲是具有4個值/特徵的觀察值作爲圖像強度。我用下面的函數來創建網絡基於像素的圖像分類的Tensorflow體系結構
def deep_learn(X,Y,X_test,Y_test):
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, 2, activation='softmax')
net = tflearn.regression(net, optimizer='adam',
loss='categorical_crossentropy', name="deep")
model = tflearn.DNN(net, tensorboard_verbose=2)
model.fit(X, Y, n_epoch=1, validation_set=0.1, show_metric=True,
snapshot_step=100)
# Save model when training is complete to a file
model.save("deep")
return model
,但我得到了以下錯誤
ValueError: Cannot feed value of shape (64, 4) for Tensor 'InputData/X:0', which has shape '(?, 1, 4)'
我不知道問題出在哪裏。 使用深度神經網絡與隨機森林進行基於像素的分類有什麼好處嗎? 如果是的話,我該如何使用上述功能來做到這一點。
謝謝。
這解決了我的問題,但我有另外一個問題。訓練模型後,p.array(model.predict(x_test))的結果僅爲1。在一個例子中,我有4類對象,我期望該命令的結果是2到5之間的標籤,但是預測函數的輸出又是1.這可能是訓練階段的問題嗎? – user2148425
NN的輸出層是什麼?如果你贊成/接受這個答案並且在一個新問題中提出這個問題,那麼它是最好的,因爲它是不相關的。另外,給我一個鏈接到這裏的新問題 – martianwars
這裏是鏈接http://stackoverflow.com/questions/41414305/wrong-output-of-prediction-function-in-tensorflow – user2148425