speechbrain.lobes.models.Xvector 模块
一种流行的说话人识别和分割模型。
- 作者
Nauman Dawalatabad 2020
Mirco Ravanelli 2020
摘要
类
这个类实现了 xvector 特征之上的最后一个 MLP。 |
|
这个类实现了 xvector 特征之上的一个判别器。 |
|
这个模型提取 X-vectors 用于说话人识别和分割。 |
参考
- class speechbrain.lobes.models.Xvector.Xvector(device='cpu', activation=<class 'torch.nn.modules.activation.LeakyReLU'>, tdnn_blocks=5, tdnn_channels=[512, 512, 512, 512, 1500], tdnn_kernel_sizes=[5, 3, 3, 1, 1], tdnn_dilations=[1, 2, 3, 1, 1], lin_neurons=512, in_channels=40)[source]
基类:
Module
这个模型提取 X-vectors 用于说话人识别和分割。
- 参数:
device (str) – 使用的设备,例如 “cpu” 或 “cuda”。
activation (torch class) – 用于构建激活层的类。
tdnn_blocks (int) – 时延神经网络 (TDNN) 层的数量。
tdnn_channels (list of ints) – TDNN 层的输出通道。
tdnn_kernel_sizes (list of ints) – 每个 TDNN 层的核大小列表。
tdnn_dilations (list of ints) – 每个 TDNN 层中核的膨胀率列表。
lin_neurons (int) – 线性层中的神经元数量。
in_channels (int) – 输入特征的预期大小。
示例
>>> compute_xvect = Xvector('cpu') >>> input_feats = torch.rand([5, 10, 40]) >>> outputs = compute_xvect(input_feats) >>> outputs.shape torch.Size([5, 1, 512])
- class speechbrain.lobes.models.Xvector.Classifier(input_shape, activation=<class 'torch.nn.modules.activation.LeakyReLU'>, lin_blocks=1, lin_neurons=512, out_neurons=1211)[source]
基类:
Sequential
这个类实现了 xvector 特征之上的最后一个 MLP。
- 参数:
示例
>>> input_feats = torch.rand([5, 10, 40]) >>> compute_xvect = Xvector() >>> xvects = compute_xvect(input_feats) >>> classify = Classifier(input_shape=xvects.shape) >>> output = classify(xvects) >>> output.shape torch.Size([5, 1, 1211])
- class speechbrain.lobes.models.Xvector.Discriminator(input_shape, activation=<class 'torch.nn.modules.activation.LeakyReLU'>, lin_blocks=1, lin_neurons=512, out_neurons=1)[source]
基类:
Sequential
这个类实现了 xvector 特征之上的一个判别器。
- 参数:
示例
>>> input_feats = torch.rand([5, 10, 40]) >>> compute_xvect = Xvector() >>> xvects = compute_xvect(input_feats) >>> discriminate = Discriminator(xvects.shape) >>> output = discriminate(xvects) >>> output.shape torch.Size([5, 1, 1])