From 8a47b4619504a141faf989a943c2c2535fa6601f Mon Sep 17 00:00:00 2001 From: Eren Golge Date: Mon, 8 Apr 2019 19:32:07 +0200 Subject: [PATCH] print warning if a layer in ehckpoint is not defined in model definition --- utils/generic_utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/utils/generic_utils.py b/utils/generic_utils.py index 7eec4e9c..b1197fc6 100644 --- a/utils/generic_utils.py +++ b/utils/generic_utils.py @@ -215,6 +215,9 @@ def sequence_mask(sequence_length, max_len=None): def set_init_dict(model_dict, checkpoint, c): # Partial initialization: if there is a mismatch with new and old layer, it is skipped. + for k, v in checkpoint['model'].items(): + if k not in model_dict: + print(" | > Layer missing in the model definition: {}".format(k)) # 1. filter out unnecessary keys pretrained_dict = { k: v @@ -236,7 +239,7 @@ def set_init_dict(model_dict, checkpoint, c): } # 4. overwrite entries in the existing state dict model_dict.update(pretrained_dict) - print(" | > {} / {} layers are initialized".format(len(pretrained_dict), len(model_dict))) + print(" | > {} / {} layers are restored.".format(len(pretrained_dict), len(model_dict))) return model_dict