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