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


Python PyTorch RNNCell用法及代码示例


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

用法:

class torch.nn.RNNCell(input_size, hidden_size, bias=True, nonlinearity='tanh', device=None, dtype=None)

参数

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

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

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

  • nonlinearity-使用的非线性。可以是 'tanh''relu' 。默认值:'tanh'

变量

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

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

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

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

具有 tanh 或 ReLU 非线性的 Elman RNN 单元。

如果 nonlinearity‘relu’ ,则使用 ReLU 代替 tanh。

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

  • 形状的(batch, hidden_size):包含批次中每个元素的初始隐藏状态的张量。如果未提供,则默认为零。

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

形状:
  • 输入1: 张量包含输入特征,其中 = input_size

  • 输入 2: 张量,包含批次中每个元素的初始隐藏状态,其中 = hidden_size 如果未提供,则默认为零。

  • 输出: 张量,包含批次中每个元素的下一个隐藏状态

注意

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

例子:

>>> rnn = nn.RNNCell(10, 20)
>>> input = torch.randn(6, 3, 10)
>>> hx = torch.randn(3, 20)
>>> output = []
>>> for i in range(6):
        hx = rnn(input[i], hx)
        output.append(hx)

相关用法


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