Пример #1
0
def init_transverse(conf, input_dim, output_vocab_size):
    """
    初始化 Transverse
    :param conf: (obj, mandatory) 配置对象
    :param input_dim: (int, mandatory) 输入维度
    :param output_vocab_size: (int, mandatory) 输出词汇量大小
    :return: (AcousticTransverseNet) AcousticTransverseNet 对象
    """
    transverse = AcousticTransverseNet(
        input_dim=input_dim,
        output_vocab_size=output_vocab_size,
        dn_hidden_size=conf.MODEL.TRANSVERSE.dn_hidden_size,
        dilated_conv_depth=conf.MODEL.TRANSVERSE.dilated_conv_depth,
        width_conv_depth=conf.MODEL.TRANSVERSE.width_conv_depth,
        multi_dilated_rate=conf.MODEL.TRANSVERSE.multi_dilated_rate,
        dilated_conv_filters=conf.MODEL.TRANSVERSE.dilated_conv_filters,
        width_conv_filters=conf.MODEL.TRANSVERSE.width_conv_filters,
        dropout_rate=conf.MODEL.TRANSVERSE.dropout_rate,
        l1=conf.MODEL.TRANSVERSE.l1,
        l2=conf.MODEL.TRANSVERSE.l2,
        activation=conf.MODEL.TRANSVERSE.activation,
        learning_rate=conf.MODEL.TRANSVERSE.learning_rate,
        warmup_steps=conf.MODEL.TRANSVERSE.warmup_steps,
        optimizer_beta_1=conf.MODEL.TRANSVERSE.optimizer_beta_1,
        optimizer_beta_2=conf.MODEL.TRANSVERSE.optimizer_beta_2,
        optimizer_epsilon=conf.MODEL.TRANSVERSE.optimizer_epsilon,
        ckpt_dir=conf.MODEL.TRANSVERSE.ckpt_dir,
        ckpt_max_to_keep=conf.MODEL.TRANSVERSE.ckpt_max_to_keep)
    print(Color.green('Initialization transverse from scratch'))
    return transverse
Пример #2
0
def init_or_restore_audio_feature(dataset, file, f_type, frame_length,
                                  frame_shift, mfcc_dim):
    """
    初始化或还原音频特征器
    :param dataset: (list, mandatory) 数据集
    :param file: (str, mandatory) 保存或者还原audio_feature的文件
    :param f_type: (str, mandatory) 处理音频特征的类型。"spectrogram" or "mfcc"
    :param frame_length: (int, mandatory) 帧长
    :param frame_shift: (int, mandatory) 帧移
    :param mfcc_dim: (int, mandatory) mfcc 特征维度
    :return: (AudioFeature) 音频特征对象
    """
    if os.path.isfile(file):
        audio_feat = AudioFeatures.load(file)
        output = "Audio feature: restore from : {}".format(file)
    else:
        audio_feat = AudioFeatures(f_type=f_type,
                                   frame_length=frame_length,
                                   frame_shift=frame_shift,
                                   mfcc_dim=mfcc_dim)
        audio_feat.fit(train_data=dataset)
        output = "Audio feature: Not found file:{} Initializing from scratch".format(
            file)
        audio_feat.save(file)

    print(Color.green(output))
    return audio_feat
Пример #3
0
def init_transformer(input_vocab_size, output_vocab_size, padding_index, conf):
    """
    初始化 transformer
    :param input_vocab_size: (int, mandatory) 输入词汇大小
    :param output_vocab_size: (int, mandatory) 输出词汇大小
    :param padding_index: (int, mandatory) 填充字符索引
    :param conf: (object) 配置信息
    :return: (LanguageTransformer) transformer 对象
    """
    transformer = LanguageTransformer(
        input_vocab_size=input_vocab_size,
        output_vocab_size=output_vocab_size,
        d_model=conf.MODEL.TRANSFORMER.d_model,
        heads_num=conf.MODEL.TRANSFORMER.heads_num,
        forward_hidden=conf.MODEL.TRANSFORMER.forward_hidden,
        num_layers=conf.MODEL.TRANSFORMER.num_layers,
        input_max_positional=conf.MODEL.TRANSFORMER.input_max_positional,
        target_max_positional=conf.MODEL.TRANSFORMER.target_max_positional,
        dropout_rate=conf.MODEL.TRANSFORMER.dropout_rate,
        ckpt_dir=conf.MODEL.TRANSFORMER.ckpt_dir,
        ckpt_max_to_keep=conf.MODEL.TRANSFORMER.ckpt_max_to_keep,
        lr_warmup_steps=conf.MODEL.TRANSFORMER.lr_warmup_steps,
        optimizer_beta_1=conf.MODEL.TRANSFORMER.optimizer_beta_1,
        optimizer_beta_2=conf.MODEL.TRANSFORMER.optimizer_beta_2,
        optimizer_epsilon=conf.MODEL.TRANSFORMER.optimizer_epsilon,
        padding_index=padding_index,
        pred_max_length=conf.MODEL.TRANSFORMER.pred_max_length)

    print(Color.green('Initialization transformer from scratch'))
    return transformer
Пример #4
0
def init_or_restore_chinese_dict(dataset, file):
    """
    初始化或还原中文字典
    :param dataset: (list, mandatory) 数据集
    :param file: (str, mandatory) 保存或者还原chinese的文件
    :return: (WordDict) 字典对象
    """
    if os.path.isfile(file):
        chinese = WordDict.load(file)
        output = 'Restore chinese dict from file: {}'.format(file)
    else:
        chinese = WordDict()
        chinese.fit(dataset=dataset)
        chinese.save(file)
        output = 'Initialize chinese dict from dataset'
    print(Color.green(output))
    return chinese
Пример #5
0
def init_or_restore_pinyin_dict(dataset, file):
    """
    初始化或还原拼音字典
    :param dataset:  (list, mandatory) 数据集
    :param file: (str, mandatory) 保存或者还原pinyin字典的文件
    :return: (WordDict) 字典对象
    """
    if os.path.isfile(file):
        pinyin = PinYin.load(file)
        output = 'Restore pinyin dict from file:{}'.format(file)
    else:
        pinyin = PinYin()
        pinyin.fit(dataset=dataset)
        pinyin.save(file)
        output = 'Initialize pinyin dict form dataset'

    print(Color.green(output))
    return pinyin