#kaldiWriter = KaldiWriteOut(None, out_file) #kaldiWriter.open_or_fd() kaldiWriter = KaldiWriteOut(out_dir + "/feats.scp", out_dir + "/feats.ark") kaldiWriter.open() for preds, i_batch, batch in module.iter_predict(data_test): label = batch.label[0].asnumpy().astype('int32') posteriors = preds[0].asnumpy().astype('float32') # copy over states if decoding_method == METHOD_BUCKETING: for (ind, utt) in enumerate(batch.utt_id): if utt != "GAP_UTT": posteriors = np.log(posteriors[:label[0][0], 1:] + 1e-20) - np.log( data_train.label_mean).T kaldiWriter.write(utt, posteriors) elif decoding_method == METHOD_SIMPLE: for (ind, utt) in enumerate(batch.utt_id): if utt != "GAP_UTT": posteriors = posteriors[:batch.utt_len[0], 1:] - np.log( data_test.label_mean[1:]).T kaldiWriter.write(utt, posteriors) else: outputs = module.get_outputs() # outputs[0] is softmax, 1:end are states for i in range(1, len(outputs)): outputs[i].copyto(data_test.init_state_arrays[i - 1]) for (ind, utt) in enumerate(batch.utt_id): if utt != "GAP_UTT": posteriors = np.log( posteriors[:, 1:]) # - np.log(data_train.label_mean).T
kaldiWriter = KaldiWriteOut(None, out_file) kaldiWriter.open_or_fd() for preds, i_batch, batch in module.iter_predict(data_test): #pred_label = np.array(preds[0].asnumpy().argmax(axis=1)) label = batch.label[0].asnumpy().astype('int32') posteriors = preds[0].asnumpy().astype('float32')[0] #print np.sum(posteriors[1][:]) # copy over states if decoding_method == METHOD_BUCKETING: for (ind, utt) in enumerate(batch.utt_id): if utt != "GAP_UTT": #print sum(posteriors[0,:]) posteriors = np.log(posteriors[:label[0][0],1:] + 1e-20) - np.log(data_train.label_mean).T kaldiWriter.write(utt, posteriors) elif decoding_method == METHOD_SIMPLE: for (ind, utt) in enumerate(batch.utt_id): if utt != "GAP_UTT": #print label[0][0] posteriors = posteriors[:batch.utt_len,1:] - np.log(data_test.label_mean[1:]).T kaldiWriter.write(utt, posteriors) else: outputs = module.get_outputs() # outputs[0] is softmax, 1:end are states for i in range(1, len(outputs)): outputs[i].copyto(data_test.init_state_arrays[i-1]) for (ind, utt) in enumerate(batch.utt_id): if utt != "GAP_UTT": posteriors = np.log(posteriors[:,1:])# - np.log(data_train.label_mean).T kaldiWriter.write(utt, posteriors)
init_states, test_sets = prepare_data(args) state_names = [x[0] for x in init_states] batch_size = args.config.getint('train', 'batch_size') num_hidden = args.config.getint('arch', 'num_hidden') num_lstm_layer = args.config.getint('arch', 'num_lstm_layer') feat_dim = args.config.getint('data', 'xdim') label_dim = args.config.getint('data', 'ydim') out_file = args.config.get('data', 'out_file') num_epoch = args.config.getint('train', 'num_epoch') model_name = get_checkpoint_path(args) logging.basicConfig(level=logging.DEBUG, format='%(asctime)-15s %(message)s') # load the model label_mean = np.zeros((label_dim,1), dtype='float32') data_test = TruncatedSentenceIter(test_sets, batch_size, init_states, 20, feat_dim=feat_dim, do_shuffling=False, pad_zeros=True, has_label=True) for i, batch in enumerate(data_test.labels): hist, edges = np.histogram(batch.flat, bins=range(0,label_dim+1)) label_mean += hist.reshape(label_dim,1) kaldiWriter = KaldiWriteOut(None, out_file) kaldiWriter.open_or_fd() kaldiWriter.write("label_mean", label_mean) args.config.write(sys.stderr)
num_hidden = args.config.getint('arch', 'num_hidden') num_lstm_layer = args.config.getint('arch', 'num_lstm_layer') feat_dim = args.config.getint('data', 'xdim') label_dim = args.config.getint('data', 'ydim') out_file = args.config.get('data', 'out_file') num_epoch = args.config.getint('train', 'num_epoch') model_name = get_checkpoint_path(args) logging.basicConfig(level=logging.DEBUG, format='%(asctime)-15s %(message)s') # load the model label_mean = np.zeros((label_dim, 1), dtype='float32') data_test = TruncatedSentenceIter(test_sets, batch_size, init_states, 20, feat_dim=feat_dim, do_shuffling=False, pad_zeros=True, has_label=True) for i, batch in enumerate(data_test.labels): hist, edges = np.histogram(batch.flat, bins=range(0, label_dim + 1)) label_mean += hist.reshape(label_dim, 1) kaldiWriter = KaldiWriteOut(None, out_file) kaldiWriter.open_or_fd() kaldiWriter.write("label_mean", label_mean) args.config.write(sys.stderr)