示例#1
0
def main():
    parser = argparse.ArgumentParser()
    parser.add_argument("--input",
                        default=None,
                        type=str,
                        help="run demo chatbot")

    args = parser.parse_args()

    input_sentence = args.input

    tokenizer = tfds.features.text.SubwordTextEncoder.load_from_file(
        vocab_filename)
    # Vocabulary size plus start and end token
    VOCAB_SIZE = tokenizer.vocab_size + 2

    model = Transformer(num_layers=NUM_LAYERS,
                        units=UNITS,
                        d_model=D_MODEL,
                        num_heads=NUM_HEADS,
                        vocab_size=VOCAB_SIZE,
                        dropout=DROPOUT,
                        name='transformer')
    demo_sentense = 'How are you'
    predict(demo_sentense, tokenizer, model, True)

    model.load_weights(save_weight_path)

    model.summary()
    tf.keras.utils.plot_model(model,
                              to_file='transformer.png',
                              show_shapes=True)

    predict(input_sentence, tokenizer, model)
示例#2
0
from models import Transformer
from utils import tokenizer, parse_wav, generate_input
import tensorflow as tf
import numpy as np

transformer = Transformer(2,
                          512,
                          8,
                          2048,
                          4337,
                          pe_input=4096,
                          pe_target=512,
                          rate=0.1,
                          training=False)
checkpoint_path = "results/asr-transfer/2/checkpoint-{:02d}".format(37)
transformer.load_weights(checkpoint_path)


def pre_process(wav_file):
    log_bank = parse_wav(wav_file)
    input, mask, target = generate_input(log_bank)
    return input, mask, target


def post_process(predicted_ids):
    y_predict = u"".join([tokenizer.id2token(id) for id in predicted_ids])
    return y_predict


def trans_mp3_to_wav(filepath):
    song = AudioSegment.from_mp3(filepath)