From 360108952d5833ed421cae9de201bac751cf5e22 Mon Sep 17 00:00:00 2001 From: Albert Zeyer Date: Tue, 21 Jan 2025 00:28:26 +0100 Subject: [PATCH] fix when mask is empty --- .../exp2024_04_23_baselines/recog_ext/ctc.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/users/zeyer/experiments/exp2024_04_23_baselines/recog_ext/ctc.py b/users/zeyer/experiments/exp2024_04_23_baselines/recog_ext/ctc.py index 009604b9a..0215b5a08 100644 --- a/users/zeyer/experiments/exp2024_04_23_baselines/recog_ext/ctc.py +++ b/users/zeyer/experiments/exp2024_04_23_baselines/recog_ext/ctc.py @@ -173,15 +173,16 @@ def model_recog( _seq_label_print("gather backrefs", seq_label) got_new_label_cpu = rf.copy_to_device(got_new_label, "cpu") - (target_, lm_state_, seq_label_), packed_new_label_dim, packed_new_label_dim_map = _masked_select_tree( - (target, lm_state, seq_label), - mask=got_new_label, - mask_cpu=got_new_label_cpu, - dims=batch_dims + [beam_dim], - ) - # packed_new_label_dim_map: old dim -> new dim. see _masked_select_prepare_dims + if got_new_label_cpu.raw_tensor.sum().item() > 0: + (target_, lm_state_, seq_label_), packed_new_label_dim, packed_new_label_dim_map = _masked_select_tree( + (target, lm_state, seq_label), + mask=got_new_label, + mask_cpu=got_new_label_cpu, + dims=batch_dims + [beam_dim], + ) + # packed_new_label_dim_map: old dim -> new dim. see _masked_select_prepare_dims + assert packed_new_label_dim.get_dim_value() > 0 - if packed_new_label_dim.get_dim_value() > 0: print( f"* feed target" f" {[model.target_dim.vocab.id_to_label(l.item()) for l in target_.raw_tensor[:3].cpu()]}"