1

我正在尝试将部分代码从使用 tf.compat.v1 转换为纯 tf 函数。这是以前的工作功能,它给了我很好的性能。

self.loss = tf.reduce_mean(
            input_tensor=tf.compat.v1.nn.ctc_loss(
                labels=self.gt_texts,
                inputs=self.ctc_in_3d_tbc,
                sequence_length=self.seq_len,
                ctc_merge_repeated=True,
            )
        )

这是我尝试使用 tf.nn.ctc_loss 重写函数。

self.loss = tf.reduce_mean(
            input_tensor=tf.nn.ctc_loss(
                labels=self.gt_texts,  # sparse tensor
                logits=self.ctc_in_3d_tbc,  
                label_length=None,  
                logit_length=self.seq_len,  
                blank_index=-1,
            ))

仅更改此设置后,性能显着下降(63% 准确度到 43% 左右)。我想知道在转换中我做错了什么。使用 blank_index=0 不起作用。

4

0 回答 0