0
我正試圖在pybrain中實現雙向LSTM網絡。任何人都有任何示例代碼?如何在pybrain中實現雙向LSTM網絡
我正試圖在pybrain中實現雙向LSTM網絡。任何人都有任何示例代碼?如何在pybrain中實現雙向LSTM網絡
實際上,它完全記錄在測試代碼中。 在github上查看here。
構建爲序列長度爲20的雙向網絡(每個樣本的單個 值):
>>> n = BidirectionalNetwork(seqlen=20, inputsize=1, hiddensize=5, symmetric=False)
它應具有2x1x5 + 2x1x5 + 2x5x5 = 70點的權重
>>> n.paramdim 70
現在我們來構建一個對稱網絡:
>>> n = BidirectionalNetwork(seqlen=12, inputsize=2, hiddensize=3, symmetric=True) >>> n.indim 24
它應該有1x2x3 + 1x1x3 + 1x3x3 = 18點的權重
>>> n.paramdim 18
甲直傳:
>>> from numpy import ones >>> r = n.activate(ones(24)) >>> len(r) 12
結果應該是對稱的(雖然權重是隨機的)
>>> r[0]-r[-1] 0.0
檢查梯度:
>>> from pybrain.tests import gradientCheck >>> gradientCheck(n) Perfect gradient True