speechbrain.nnet.utils 模块

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

作者
  • Artem Ploujnikov 2023

总结

DoneDetector

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

参考

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

基类: Module

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

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

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

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

示例

>>> 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]

计算前向传播

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

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

返回:

preds – 预测结果

返回类型:

torch.Tensor