def dev_step(x_dev, y_dev, writer=None):
'''
Evaluates model on full dev set.
--------------------------------
Since full dev set likely won't fit into memory, this function
splits the dev set into minibatches and returns the average
of loss and accuracy to cmd line and to summary writer
'''
dev_stats = StatisticsCollector()
dev_batches = data_helpers.batch_iter(list(zip(x_dev, y_dev)),
FLAGS.batch_size, 1)
for dev_batch in dev_batches:
if len(dev_batch) > 0:
x_dev_batch, y_dev_batch = zip(*dev_batch)
feed_dict = {
cnn.input_song1: tuple(spect_dict[i[0]] for i in x_dev_batch),
cnn.input_song2: tuple(spect_dict[i[1]] for i in x_dev_batch),
cnn.input_y: y_dev_batch,
cnn.dropout_keep_prob: 1.0
}
step, loss, accuracy = sess.run(
[global_step, cnn.loss, cnn.accuracy],
feed_dict)
dev_stats.collect(accuracy, loss)
time_str = datetime.datetime.now().isoformat()
batch_accuracy, batch_loss, summaries = dev_stats.report()
print("{}: step {}, loss {:g}, acc {:g}".format(time_str, step, batch_loss, batch_accuracy))
if writer:
writer.add_summary(summaries, step)
# Generate training batches
train_coversongs.py 文件源码
python
阅读 19
收藏 0
点赞 0
评论 0
评论列表
文章目录