python - 如何计算两个张量之间的余弦相似度?

标签 python tensorflow neural-network

我有两个归一化张量,我需要计算这些张量之间的余弦相似度。我如何使用 TensorFlow 做到这一点?

cosine(normalize_a,normalize_b)

    a = tf.placeholder(tf.float32, shape=[None], name="input_placeholder_a")
    b = tf.placeholder(tf.float32, shape=[None], name="input_placeholder_b")
    normalize_a = tf.nn.l2_normalize(a,0)        
    normalize_b = tf.nn.l2_normalize(b,0)

最佳答案

这将完成工作:

a = tf.placeholder(tf.float32, shape=[None], name="input_placeholder_a")
b = tf.placeholder(tf.float32, shape=[None], name="input_placeholder_b")
normalize_a = tf.nn.l2_normalize(a,0)        
normalize_b = tf.nn.l2_normalize(b,0)
cos_similarity=tf.reduce_sum(tf.multiply(normalize_a,normalize_b))
sess=tf.Session()
cos_sim=sess.run(cos_similarity,feed_dict={a:[1,2,3],b:[2,4,6]})

这会打印 0.99999988

关于python - 如何计算两个张量之间的余弦相似度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43357732/

相关文章:

python - TypeError : You are attempting to use Python control flow in a layer that was not declared to be dynamic. 将 `dynamic=True` 传递给类构造函数

python - 如何写入带有小数点后固定数字的 astropy Table 对象值?

python stdout to file 没有实时响应

python - 使用 Tkinter Python 的简单动画

python - 如何设置 TensorFlow 矩中的轴参数以进行批量归一化?

machine-learning - 自动编码器中的绑定(bind)权重

Python 正则表达式将一行分成 4 部分

python - TensorFlow v1.10 +是否正在提供自定义估算器?

python - 无法挤压 dim[1],预期维度为 1,结果为 5

python - 我的模型的损失值为 0,但它只是将所有输入分类到同一类,这是怎么回事?