Exemplo n.º 1
0
    reader = ScpStreamReader(args.data_scp,
                             mean_sub=args.mean_sub,
                             downsample=args.downsample)
    reader.initialize()

    space, beam_size, max_len = args.space, args.beam_size, args.max_len
    start, win, stable_time = args.start_block, args.incl_block, args.stable_time
    head, padding = args.attn_head, args.attn_padding

    since = time.time()
    fctm = open(args.output, 'w')
    total_latency = 0
    count = 0
    with torch.no_grad():
        while True:
            utt, mat = reader.read_next_utt()
            if utt is None or utt == '': break
            print(utt)
            src_seq = torch.FloatTensor(mat).to(device)
            time_len = src_seq.size(0)
            stable_hypo = [1]
            latency = 0.

            for i in range(max(time_len - start - 1, 0) // win + 1):
                end = min(time_len, win * (i + 1) + start)
                src = src_seq[0:end, :]

                enc_out, mask, hypo, score, sth = partial_search(
                    model, src, beam_size, max_len, stable_hypo)
                print(sth)
Exemplo n.º 2
0
#!/usr/bin/env python3
# encoding: utf-8

# Copyright 2019 Thai-Son Nguyen
# Licensed under the Apache License, Version 2.0 (the "License")

import os
import argparse

from pynn.io.kaldi_seq import ScpStreamReader

parser = argparse.ArgumentParser(description='pynn')
parser.add_argument('--data-scp', help='path to data scp', required=True)
parser.add_argument('--output',
                    help='output file',
                    type=str,
                    default='data.len')

if __name__ == '__main__':
    args = parser.parse_args()

    loader = ScpStreamReader(args.data_scp)
    loader.initialize()

    fout = open(args.output, 'w')
    while True:
        utt_id, utt_mat = loader.read_next_utt()
        if utt_id is None or utt_id == '': break
        fout.write(utt_id + u' ' + str(len(utt_mat)) + os.linesep)
    fout.close()