def load(path, model_class, suffix=''): with io.open(path + '.config', 'r', encoding='utf8') as f: config = json.load(f) word_voca = Vocabulary() word_voca.__dict__ = config['word_voca'] config['word_voca'] = word_voca entity_voca = Vocabulary() entity_voca.__dict__ = config['entity_voca'] config['entity_voca'] = entity_voca if 'snd_word_voca' in config: snd_word_voca = Vocabulary() snd_word_voca.__dict__ = config['snd_word_voca'] config['snd_word_voca'] = snd_word_voca model = model_class(config) model.load_state_dict(torch.load(path + '.state_dict' + suffix)) return model