speechbrain.lobes.models.ESPnetVGG 模块

此 lobes 复制了 ESPNET v1 中首次引入的编码器

来源:https://github.com/espnet/espnet/blob/master/espnet/nets/pytorch_backend/rnn/encoders.py

作者
  • Titouan Parcollet 2020

摘要

ESPnetVGG

该模型是 CNN 和 RNN 的组合,遵循

参考

class speechbrain.lobes.models.ESPnetVGG.ESPnetVGG(input_shape, activation=<class 'torch.nn.modules.activation.ReLU'>, dropout=0.15, cnn_channels=[64, 128], rnn_class=<class 'speechbrain.nnet.RNN.LSTM'>, rnn_layers=4, rnn_neurons=512, rnn_bidirectional=True, rnn_re_init=False, projection_neurons=512)[来源]

基类:Sequential

该模型是 CNN 和 RNN 的组合,遵循

ESPnet 编码器。(VGG+RNN+MLP+tanh())

参数:
  • input_shape (tuple) – 预期输入示例的形状。

  • activation (torch class) – 用于构造激活层的类。适用于 CNN 和 DNN。

  • dropout (float) – 神经元 dropout 率,仅应用于 RNN。

  • cnn_channels (list of ints) – 每个 CNN 块的输出通道数列表。

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

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

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

  • rnn_bidirectional (bool) – 此模型是否只向前处理或同时处理两个方向。

  • rnn_re_init (bool)

  • projection_neurons (int) – 最后一个线性层中的神经元数。

示例

>>> inputs = torch.rand([10, 40, 60])
>>> model = ESPnetVGG(input_shape=inputs.shape)
>>> outputs = model(inputs)
>>> outputs.shape
torch.Size([10, 10, 512])