def acous_text_eval(m, sess, data, lengths, text_data, text_lengths, matches, config):
embeddings = []
now = 0
while now < len(data):
embedding = sess.run(m.final_state, {m.input_x1: data[now: now + config.eval_batch_size],
m.input_x1_lengths: lengths[now: now + config.eval_batch_size]})
embeddings.append(embedding)
now += config.eval_batch_size
X = np.vstack(embeddings)
text_embeddings = []
now = 0
while now < len(data):
text_embedding = sess.run(m.word_state, {m.input_c1: text_data[now: now + config.eval_batch_size],
m.input_c1_lengths: text_lengths[now: now + config.eval_batch_size]})
text_embeddings.append(text_embedding)
now += config.eval_batch_size
Y = np.vstack(text_embeddings)
distances = []
for i in range(len(data)):
for j in range(i+1, len(data)):
distances.append(cosine(X[i], Y[j]))
distances = np.asarray(distances)
ap, prb = samediff.average_precision(distances[matches == True], distances[matches == False])
print "Average precision:", ap
print "Precision-recall breakeven:", prb
return ap
eval.py 文件源码
python
阅读 29
收藏 0
点赞 0
评论 0
评论列表
文章目录