use*_*886 25 python dot-product tensorflow
我想知道是否有一种简单的方法来计算两个向量(即1-d张量)的点积并返回张量流中的标量值.
给定两个向量X =(x1,...,xn)和Y =(y1,...,yn),点积为点(X,Y)= x1*y1 + ... + xn*yn
我知道有可能通过首先将向量X和Y广播到2-d张量然后使用tf.matmul来实现这一点.但是,结果是一个矩阵,我在标量之后.
是否有像tf.matmul这样的运算符特定于向量?
Ish*_*nal 26
计算两个张量之间的点积(向量是1D张量)的最简单方法之一就是使用 tf.tensordot
a = tf.placeholder(tf.float32, shape=(5))
b = tf.placeholder(tf.float32, shape=(5))
dot_a_b = tf.tensordot(a, b, 1)
with tf.Session() as sess:
print(dot_a_b.eval(feed_dict={a: [1, 2, 3, 4, 5], b: [6, 7, 8, 9, 10]}))
# results: 130.0
Run Code Online (Sandbox Code Playgroud)
aar*_*lle 14
你可以使用tf.matmul和tf.transpose
tf.matmul(x,tf.transpose(y))
Run Code Online (Sandbox Code Playgroud)
要么
tf.matmul(tf.transpose(x),y)
Run Code Online (Sandbox Code Playgroud)
取决于x和y的尺寸
归档时间: |
|
查看次数: |
42457 次 |
最近记录: |