From 5187a93dc1389ff5faf6ba617a34a8ad88defbb7 Mon Sep 17 00:00:00 2001 From: Hui Zhang Date: Mon, 16 Aug 2021 11:45:10 +0000 Subject: [PATCH] remove fixed hack api --- deepspeech/__init__.py | 49 -------------------------------------- deepspeech/modules/loss.py | 3 ++- 2 files changed, 2 insertions(+), 50 deletions(-) diff --git a/deepspeech/__init__.py b/deepspeech/__init__.py index 37531657e..1316256e4 100644 --- a/deepspeech/__init__.py +++ b/deepspeech/__init__.py @@ -30,24 +30,13 @@ logger = Log(__name__).getlog() logger.warn = logger.warning ########### hcak paddle ############# -paddle.bool = 'bool' -paddle.float16 = 'float16' paddle.half = 'float16' -paddle.float32 = 'float32' paddle.float = 'float32' -paddle.float64 = 'float64' paddle.double = 'float64' -paddle.int8 = 'int8' -paddle.int16 = 'int16' paddle.short = 'int16' -paddle.int32 = 'int32' paddle.int = 'int32' -paddle.int64 = 'int64' paddle.long = 'int64' -paddle.uint8 = 'uint8' paddle.uint16 = 'uint16' -paddle.complex64 = 'complex64' -paddle.complex128 = 'complex128' paddle.cdouble = 'complex128' @@ -403,45 +392,7 @@ if not hasattr(paddle.nn.functional, 'glu'): # return x * 0.5 * (1.0 + paddle.erf(x / math.sqrt(2.0))) -# hack loss -def ctc_loss(logits, - labels, - input_lengths, - label_lengths, - blank=0, - reduction='mean', - norm_by_times=True): - #logger.info("my ctc loss with norm by times") - ## https://github.com/PaddlePaddle/Paddle/blob/f5ca2db2cc/paddle/fluid/operators/warpctc_op.h#L403 - loss_out = paddle.fluid.layers.warpctc(logits, labels, blank, norm_by_times, - input_lengths, label_lengths) - - loss_out = paddle.fluid.layers.squeeze(loss_out, [-1]) - assert reduction in ['mean', 'sum', 'none'] - if reduction == 'mean': - loss_out = paddle.mean(loss_out / label_lengths) - elif reduction == 'sum': - loss_out = paddle.sum(loss_out) - return loss_out - - -logger.warn( - "override ctc_loss of paddle.nn.functional if exists, remove this when fixed!" -) -F.ctc_loss = ctc_loss - ########### hcak paddle.nn ############# -if not hasattr(paddle.nn, 'Module'): - logger.warn("register user Module to paddle.nn, remove this when fixed!") - setattr(paddle.nn, 'Module', paddle.nn.Layer) - -# maybe cause assert isinstance(sublayer, core.Layer) -if not hasattr(paddle.nn, 'ModuleList'): - logger.warn( - "register user ModuleList to paddle.nn, remove this when fixed!") - setattr(paddle.nn, 'ModuleList', paddle.nn.LayerList) - - class GLU(nn.Layer): """Gated Linear Units (GLU) Layer""" diff --git a/deepspeech/modules/loss.py b/deepspeech/modules/loss.py index 3e441bbbc..8918ca669 100644 --- a/deepspeech/modules/loss.py +++ b/deepspeech/modules/loss.py @@ -48,7 +48,8 @@ class CTCLoss(nn.Layer): logits = logits.transpose([1, 0, 2]) # (TODO:Hui Zhang) ctc loss does not support int64 labels ys_pad = ys_pad.astype(paddle.int32) - loss = self.loss(logits, ys_pad, hlens, ys_lens) + loss = self.loss( + logits, ys_pad, hlens, ys_lens, norm_by_times=self.batch_average) if self.batch_average: # Batch-size average loss = loss / B