長短時記憶網絡(LSTM)在Torch中可以通過使用nn.LSTM模塊來實現。以下是一個簡單的示例代碼,演示如何在Torch中實現一個LSTM網絡:
require 'nn'
-- 定義輸入數據維度和隱藏層大小
inputSize = 10
hiddenSize = 20
-- 創建LSTM模塊
lstm = nn.LSTM(inputSize, hiddenSize)
-- 定義輸入數據
input = torch.randn(5, 3, inputSize) -- 輸入數據大小為(序列長度, batch大小, 輸入數據維度)
-- 前向傳播
output, _ = lstm:forward(input)
-- 輸出結果
print(output)
在上面的示例中,首先使用nn.LSTM(inputSize, hiddenSize)
創建一個LSTM模塊,然后定義輸入數據的維度為10,隱藏層大小為20,并創建一個隨機輸入數據input
,大小為(5, 3, 10)。接著調用lstm:forward(input)
進行前向傳播,得到輸出結果output
。最后打印輸出結果。
通過以上代碼,我們可以在Torch中實現一個簡單的LSTM網絡。需要注意的是,LSTM網絡還有許多參數和功能,例如可以設置多層LSTM、添加Dropout等,具體可以根據實際需求進行調整。