speechbrain.lobes.models.RNNLM 模块

循环语言模型实现。

作者
  • Mirco Ravanelli 2020

  • Peter Plantinga 2020

  • Ju-Chieh Chou 2020

  • Titouan Parcollet 2020

  • Abdel 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。

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

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

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

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

  • 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) – 线性层中的神经元数量。

示例

>>> 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 并返回输出张量。