我有2个带有张量的列表(数组),想计算两个列表之间张量的余弦相似度。并获得具有相似性的输出列表(张量)。
例如:
a: [
[1,2,3],[4,5,6],[7,8,9]
]
b: [
[1,4,9]
]
输出:
out: [
1.0,0.84,0.78
]
对于在tensorflow中执行此操作的任何帮助将不胜感激。
现在我已经完成了:
a = tf.placeholder(tf.float32,shape=[None,name="input_placeholder_a")
b = tf.placeholder(tf.float32,name="input_placeholder_b")
normalize_a = tf.nn.l2_normalize(a,dim=1)
normalize_b = tf.nn.l2_normalize(b,dim=1)
cos_similarity=tf.matmul(normalize_a,normalize_b,transpose_b=True)
sess=tf.Session()
cos_sim=sess.run(cos_similarity,feed_dict={
a: np.array([[1,6]]),b: np.array([[1,[8,7,9]]),})
print(cos_sim)