def from_instances(cls, model: Tacotron2, optimizer: Adam, hparams: HParams, iteration: int, symbols: SymbolIdDict, accents: AccentsDict, speakers: SpeakersDict): result = cls(state_dict=model.state_dict(), optimizer=optimizer.state_dict(), learning_rate=hparams.learning_rate, iteration=iteration, hparams=asdict(hparams), symbols=symbols.raw(), accents=accents.raw(), speakers=speakers.raw()) return result
def convert_v1_to_v2_model(old_model_path: str, custom_hparams: Optional[Dict[str, str]], speakers: SpeakersDict, accents: AccentsDict, symbols: SymbolIdDict): checkpoint_dict = torch.load(old_model_path, map_location='cpu') hparams = HParams(n_speakers=len(speakers), n_accents=len(accents), n_symbols=len(symbols)) hparams = overwrite_custom_hparams(hparams, custom_hparams) chp = CheckpointTacotron(state_dict=checkpoint_dict["state_dict"], optimizer=checkpoint_dict["optimizer"], learning_rate=checkpoint_dict["learning_rate"], iteration=checkpoint_dict["iteration"] + 1, hparams=asdict(hparams), speakers=speakers.raw(), symbols=symbols.raw(), accents=accents.raw()) new_model_path = f"{old_model_path}_{get_pytorch_filename(chp.iteration)}" chp.save(new_model_path, logging.getLogger())