当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch LSTMCell用法及代码示例


本文简要介绍python语言中 torch.nn.LSTMCell 的用法。

用法:

class torch.nn.LSTMCell(input_size, hidden_size, bias=True, device=None, dtype=None)

参数

  • input_size-输入x中的预期特征数

  • hidden_size-隐藏状态的特征数h

  • bias-如果 False ,则该层不使用偏置权重 b_ihb_hh 。默认值:True

变量

  • ~LSTMCell.weight_ih(torch.Tensor) -可学习的 input-hidden 权重,形状为 (4*hidden_size, input_size)

  • ~LSTMCell.weight_hh(torch.Tensor) -可学习的 hidden-hidden 权重,形状为 (4*hidden_size, hidden_size)

  • ~LSTMCell.bias_ih-形状为 (4*hidden_size) 的可学习 input-hidden 偏差

  • ~LSTMCell.bias_hh-形状为 (4*hidden_size) 的可学习 hidden-hidden 偏差

长短期内存记忆(LSTM)单元

其中 是 sigmoid 函数, 是 Hadamard 积。

输入:输入,(h_0,c_0)
  • 输入形状的(batch, input_size):包含输入特征的张量

  • h_0形状的(batch, hidden_size):包含批次中每个元素的初始隐藏状态的张量。

  • c_0形状的(batch, hidden_size):包含批次中每个元素的初始单元状态的张量。

    如果(h_0, c_0)不提供,两者h_0c_0默认为零。

输出:(h_1,c_1)
  • h_1形状的(batch, hidden_size):包含批次中每个元素的下一个隐藏状态的张量

  • c_1形状的(batch, hidden_size): 包含批次中每个元素的下一个单元状态的张量

注意

所有的权重和偏差都是从 初始化的,其中

例子:

>>> rnn = nn.LSTMCell(10, 20) # (input_size, hidden_size)
>>> input = torch.randn(2, 3, 10) # (time_steps, batch, input_size)
>>> hx = torch.randn(3, 20) # (batch, hidden_size)
>>> cx = torch.randn(3, 20)
>>> output = []
>>> for i in range(input.size()[0]):
        hx, cx = rnn(input[i], (hx, cx))
        output.append(hx)
>>> output = torch.stack(output, dim=0)

相关用法


注:本文由纯净天空筛选整理自pytorch.org大神的英文原创作品 torch.nn.LSTMCell。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。