def get_data(featurizer: TextFeaturizer):
     train_dataset = ASRSliceDataset(data_paths=[data_path],
                                     speech_featurizer=speech_featurizer,
                                     text_featurizer=featurizer,
                                     stage="train",
                                     shuffle=False)
     train_data = train_dataset.create(1)
     return next(iter(train_data))
Exemplo n.º 2
0
test_dataset = ASRSliceDataset(speech_featurizer=speech_featurizer,
                               text_featurizer=text_featurizer,
                               **vars(
                                   config.learning_config.test_dataset_config))

# build model
rnn_transducer = RnnTransducer(**config.model_config,
                               vocabulary_size=text_featurizer.num_classes)
rnn_transducer.make(speech_featurizer.shape)
rnn_transducer.load_weights(args.saved, by_name=True)
rnn_transducer.summary(line_length=100)
rnn_transducer.add_featurizers(speech_featurizer, text_featurizer)

batch_size = args.bs or config.learning_config.running_config.batch_size
test_data_loader = test_dataset.create(batch_size)

with file_util.save_file(file_util.preprocess_paths(args.output)) as filepath:
    overwrite = True
    if tf.io.gfile.exists(filepath):
        overwrite = input(
            f"Overwrite existing result file {filepath} ? (y/n): ").lower(
            ) == "y"
    if overwrite:
        results = rnn_transducer.predict(test_data_loader, verbose=1)
        logger.info(f"Saving result to {args.output} ...")
        with open(filepath, "w") as openfile:
            openfile.write("PATH\tDURATION\tGROUNDTRUTH\tGREEDY\tBEAMSEARCH\n")
            progbar = tqdm(total=test_dataset.total_steps, unit="batch")
            for i, pred in enumerate(results):
                groundtruth, greedy, beamsearch = [
Exemplo n.º 3
0
config = Config(config_dir, learning=True)

speech_featurizer = TFSpeechFeaturizer(config.speech_config)
text_featurizer = CharFeaturizer(config.decoder_config)

train_dataset = ASRSliceDataset(
    data_paths=config.learning_config.dataset_config.train_paths,
    speech_featurizer=speech_featurizer,
    text_featurizer=text_featurizer,
    augmentations=config.learning_config.augmentations,
    stage="train",
    cache=False,
    shuffle=True,
    sort=False)

train_data = train_dataset.create(2)

train_data_loader = strategy.experimental_distribute_dataset(train_data)

train_iterator = iter(train_data_loader)
while True:
    batch = next(train_iterator)
    features, input_length, labels, label_length, prediction, prediction_length = batch
    #print ("features")
    #print (features)
    #print ("input_length")
    #print (input_length)
    print("labels")
    print(labels)
    #print ("label_length")
    #print (label_length)