长短时记忆网络(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等,具体可以根据实际需求进行调整。