我想使用Theano获得2个矩阵的归一化点积。通过2个矩阵的归一化点积,我定义了2个向量的归一化内积如下: 从矩阵A中取v_a,从矩阵B中取出矢量v_b. AB__dot_norm = v_a * v_b / | v_a | | V_B |。
我可以使用以下代码获得v_a和v_b的规范。我不确定如何用规范化的向量来规范化dot_product矩阵。
import theano
from theano import tensor
dot_product = tensor.dot(in_tensor, w_tensor)
in_normalized = in_tensor / in_tensor.norm (2, axis = 1).reshape(in_tensor.shape[0],1)
w_normalized = w_tensor / w_tensor.norm (2, axis = 0).reshape(1, w_tensor.shape[1])
答案 0 :(得分:0)
我找到了一个解决方案,我认为在这里发布它可能会有用。
in_norm = in_tensor / in_tensor.norm(2, axis =1 ).reshape((in_tensor.shape[0],1))
w_norm = w_tensor / w_tensor.norm(2,axis = 0).reshape((1, w_tensor.shape[1]))
output = theano.tensor.dot (in_norm, w_norm)