def evaluate():
""" Evaluate deepSpeech modelfor a number of steps."""
with tf.Graph().as_default() as graph:
# Get feats and labels for deepSpeech.
feats, labels, seq_lens = deepSpeech.inputs(ARGS.eval_data,
data_dir=ARGS.data_dir,
batch_size=ARGS.batch_size,
use_fp16=ARGS.use_fp16,
shuffle=True)
# Build ops that computes the logits predictions from the
# inference model.
ARGS.keep_prob = 1.0 # Disable dropout during testing.
logits = deepSpeech.inference(feats, seq_lens, ARGS)
# Calculate predictions.
output_log_prob = tf.nn.log_softmax(logits)
decoder = tf.nn.ctc_greedy_decoder
strided_seq_lens = tf.div(seq_lens, ARGS.temporal_stride)
predictions = decoder(output_log_prob, strided_seq_lens)
# Restore the moving average version of the learned variables for eval.
variable_averages = tf.train.ExponentialMovingAverage(
ARGS.moving_avg_decay)
variables_to_restore = variable_averages.variables_to_restore()
saver = tf.train.Saver(variables_to_restore)
# Build the summary operation based on the TF collection of Summaries.
summary_op = tf.merge_all_summaries()
summary_writer = tf.train.SummaryWriter(ARGS.eval_dir, graph)
while True:
eval_once(saver, summary_writer, predictions, summary_op, labels)
if ARGS.run_once:
break
time.sleep(ARGS.eval_interval_secs)
评论列表
文章目录