speechbrain.lobes.models.RNNLM 模块

实现一个循环语言模型。

Authors
  • Mirco Ravanelli 2020

  • 彼得·普兰廷加 2020

  • 周珏洁 2020

  • Titouan Parcollet 2020

  • 阿卜杜勒 2020

摘要

类:

RNNLM

该模型是嵌入层、RNN、DNN的组合。

参考

class speechbrain.lobes.models.RNNLM.RNNLM(output_neurons, embedding_dim=128, activation=<class 'torch.nn.modules.activation.LeakyReLU'>, dropout=0.15, rnn_class=<class 'speechbrain.nnet.RNN.LSTM'>, rnn_layers=2, rnn_neurons=1024, rnn_re_init=False, return_hidden=False, dnn_blocks=1, dnn_neurons=512)[source]

基础:Module

该模型是嵌入层、RNN、DNN的组合。 它可以用于RNNLM。

Parameters:
  • output_neurons (int) – 嵌入表中的条目数,也是输出层中的神经元数量。

  • embedding_dim (int) – 嵌入向量的大小(默认128)。

  • activation (torch class) – 用于构建DNN激活层的类。

  • dropout (float) – 应用于嵌入、RNN和DNN的神经元丢弃率。

  • rnn_class (torch class) – RNNLM网络中使用的RNN类型(LiGRU, LSTM, GRU, RNN)

  • rnn_layers (int) – 包含的循环层数。

  • rnn_neurons (int) – RNN每层中的神经元数量。

  • rnn_re_init (bool) – 是否使用正交初始化来初始化rnn。

  • return_hidden (bool) – 是否返回隐藏状态(默认为 True)。

  • dnn_blocks (int) – 包含的线性神经块的数量。

  • dnn_neurons (int) – 线性层中的神经元数量。

Example

>>> model = RNNLM(output_neurons=5)
>>> inputs = torch.Tensor([[1, 2, 3]])
>>> outputs = model(inputs)
>>> outputs.shape
torch.Size([1, 3, 5])
forward(x, hx=None)[source]

处理输入张量 x 并返回输出张量。