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
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
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
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
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