speechbrain.nnet.utils 模块

各种可重复使用的神经网络模块。

Authors
  • 阿尔乔姆·普洛日尼科夫 2023

摘要

类:

DoneDetector

使用模型(例如CRDNN)和输出层的完成检测器的包装器。

参考

class speechbrain.nnet.utils.DoneDetector(model, out)[source]

基础:Module

使用模型(例如CRDNN)和输出层的完成检测器的包装器。

使用包装器的目标是在输出层(例如Softmax)之前应用掩码,以便模型无法通过在掩码区域输出概率来“作弊”

Parameters:
  • model (torch.nn.Module) – 用于进行预测的模型

  • out (torch.nn.Module) – 输出函数

Example

>>> import torch
>>> from torch import nn
>>> from speechbrain.nnet.activations import Softmax
>>> from speechbrain.nnet.containers import Sequential
>>> from speechbrain.nnet.linear import Linear
>>> from speechbrain.lobes.models.CRDNN import CRDNN
>>> crdnn = CRDNN(
...     input_size=80,
...     cnn_blocks=1,
...     cnn_kernelsize=3,
...     rnn_layers=1,
...     rnn_neurons=16,
...     dnn_blocks=1,
...     dnn_neurons=16
... )
>>> model_out = Linear(n_neurons=1, input_size=16)
>>> model_act = nn.Sigmoid()
>>> model = Sequential(
...     crdnn,
...     model_out,
...     model_act
... )
>>> out = Softmax(
...     apply_log=False,
... )
>>> done_detector = DoneDetector(
...     model=model,
...     out=out,
... )
>>> preds = torch.randn(4, 10, 80) # Batch x Length x Feats
>>> length = torch.tensor([1., .8, .5, 1.])
>>> preds_len = done_detector(preds, length)
>>> preds_len.shape
torch.Size([4, 10, 1])
forward(feats, length=None)[source]

计算前向传播

Parameters:
  • feats (torch.Tensor) – 用于模型的特征(例如频谱图)

  • length (torch.Tensor) – 一个相对长度的张量

Returns:

preds – 预测

Return type:

torch.Tensor