speechbrain.lobes.models.MetricGAN_U 模块

MetricGAN-U 中使用的生成器和判别器

作者:* Fu Szu-Wei 2020

摘要

EnhancementGenerator

用于增强的简单 LSTM,具有自定义初始化。

MetricDiscriminator

用于增强训练的度量估计器。

函数

xavier_init_layer

创建一个具有谱归一化、xavier 均匀初始化和零偏置的层

参考

speechbrain.lobes.models.MetricGAN_U.xavier_init_layer(in_size, out_size=None, spec_norm=True, layer_type=<class 'torch.nn.modules.linear.Linear'>, **kwargs)[source]

创建一个具有谱归一化、xavier 均匀初始化和零偏置的层

class speechbrain.lobes.models.MetricGAN_U.EnhancementGenerator(input_size=257, hidden_size=200, num_layers=2, lin_dim=300, dropout=0)[source]

基类: Module

用于增强的简单 LSTM,具有自定义初始化。

参数:
  • input_size (int) – 输入张量最后一个维度的大小。

  • hidden_size (int) – LSTM 层中使用的神经元数量。

  • num_layers (int) – LSTM 中使用的层数。

  • lin_dim (int) – 最后两个线性层中的神经元数量。

  • dropout (int) – 训练期间丢弃的神经元比例。

示例

>>> inputs = torch.rand([10, 100, 40])
>>> model = EnhancementGenerator(input_size=40, hidden_size=50)
>>> outputs = model(inputs, lengths=torch.ones([10]))
>>> outputs.shape
torch.Size([10, 100, 40])
blstm

对循环层使用正交初始化,对输入层使用 xavier 均匀初始化,偏置为 0

forward(x, lengths)[source]

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

class speechbrain.lobes.models.MetricGAN_U.MetricDiscriminator(kernel_size=(5, 5), base_channels=15, activation=<class 'torch.nn.modules.activation.LeakyReLU'>, lin_dim1=50, lin_dim2=10)[source]

基类: Module

用于增强训练的度量估计器。

包括
  • 四个 2D 卷积层

  • 通道平均

  • 三个线性层

参数:
  • kernel_size (tuple) – 用于卷积的 2D 卷积核的维度。

  • base_channels (int) – 每个卷积层中使用的通道数。

  • activation (Callable) – 应用于层之间的函数。

  • lin_dim1 (int) – 第一个线性层的维度。

  • lin_dim2 (int) – 第二个线性层的维度。

示例

>>> inputs = torch.rand([1, 1, 100, 257])
>>> model = MetricDiscriminator()
>>> outputs = model(inputs)
>>> outputs.shape
torch.Size([1, 1])
forward(x)[source]

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