2016-09-21 85 views
0

我正在使用DBN分類代碼。我有一個這是一個整數的輸出值(輸出整數的值可以是任何東西110,12等)。所以基本上我試圖通過設置其no_of_outputs = 1來使用分類代碼預測某些事物。但我認爲no_of_output = 1與錯誤代碼混淆在一起: ValueError:y_i值超出範圍 應用導致錯誤的節點:CrossentropySoftmaxArgmax1HotWithBias(_dot22.0,b,Elemwise {Cast {int32}}。0 ) 輸入形狀:[(10,2),(2,),(10,)] 輸入步幅:[(16,8),(8,),(4,)] 輸入類型:[TensorType浮點64,矩陣),TensorType(float64,vector),TensorType(int32,vector)] 使用Theano標誌'exception_verbosity = high'作爲此應用節點的調試打印。ValueError Theano

請幫我解決它。

+0

由於您正在[迴歸](https://en.wikipedia.org/wiki/Regression_analysis)(即您的預測是實際值而不是類別標籤),因此您不應該在輸出層有任何非線性。 [邏輯迴歸](http://deeplearning.net/tutorial/code/logistic_sgd.py)的示例代碼使用[softmax](https://en.wikipedia.org/wiki/Softmax_function),它僅適用於分類問題。 – uyaseen

+0

[This](http://danielhnyk.cz/predicting-sequences-vectors-keras-using-rnn-lstm/)and [this](http://machinelearningmastery.com/time-series-prediction-lstm-recurrent -neural-networks-python-keras /)可能會有所幫助。還要照顧正常化等。 – uyaseen

回答

0

這索引值出界錯誤的,你應該檢查你的代碼,以確保:

  1. 你的索引值是不是NaN的
  2. 如果你的索引值是一個有效的整數,你應該檢查它是否是出界實際上

您可以通過編譯一個theano函數來打印您的值,該函數返回您想要打印的參數。