Beispiel #1
0
def set_cfg_params_from_state(state: dict, cfg: DictConfig):
    """
    Overrides some of the encoder config parameters from a give state object
    """
    if not state:
        return

    cfg.do_lower_case = state["do_lower_case"]

    if "encoder" in state:
        saved_encoder_params = state["encoder"]
        # TODO: try to understand why cfg.encoder = state["encoder"] doesn't work

        for k, v in saved_encoder_params.items():

            # TODO: tmp fix
            if k == "q_wav2vec_model_cfg":
                k = "q_encoder_model_cfg"
            if k == "q_wav2vec_cp_file":
                k = "q_encoder_cp_file"
            if k == "q_wav2vec_cp_file":
                k = "q_encoder_cp_file"

            setattr(cfg.encoder, k, v)
    else:  # 'old' checkpoints backward compatibility support
        pass
Beispiel #2
0
def set_cfg_params_from_state(state: dict, cfg: DictConfig):
    """
    Overrides some of the encoder config parameters from a give state object
    """
    if not state:
        return
    cfg.do_lower_case = state["do_lower_case"]
    cfg.encoder.pretrained_model_cfg = state["pretrained_model_cfg"]
    cfg.encoder.encoder_model_type = state["encoder_model_type"]
    cfg.encoder.pretrained_file = state["pretrained_file"]
    cfg.encoder.projection_dim = state["projection_dim"]
    cfg.encoder.sequence_length = state["sequence_length"]
Beispiel #3
0
def set_cfg_params_from_state(state: dict, cfg: DictConfig):
    """
    Overrides some of the encoder config parameters from a give state object
    """
    if not state:
        return
    cfg.do_lower_case = state["do_lower_case"]
    cfg.encoder.pretrained_model_cfg = state["pretrained_model_cfg"]
    cfg.encoder.pretrained_file = state["pretrained_file"]
    cfg.encoder.projection_dim = state["projection_dim"]
    cfg.encoder.sequence_length = state["sequence_length"]

    if cfg.encoder.encoder_model_type != state["encoder_model_type"]:
        logger.warn(
            f"Model type specified in the config file ('{cfg.encoder.encoder_model_type}') and model type "
            f"obtained from the checkpoint ('{state['encoder_model_type']}') are different"
        )
        if not cfg.ignore_pretrained_model_type:
            cfg.encoder.encoder_model_type = state["encoder_model_type"]