首页 Paddle框架 帖子详情
paddle怎么实现n个向量两两间距离
收藏
快速回复
Paddle框架 问答深度学习 1118 0
paddle怎么实现n个向量两两间距离
收藏
快速回复
Paddle框架 问答深度学习 1118 0

我定义了向量a矩阵为[[0],[1],[2],...[n]]]和向量b=a.T,这里b是a的转置(即b=[[0,1,2,...n]]),如果用numpy运算的话可以很容易得到两两向量距离的平方矩阵,即

dist2=np.sum(a**2,axis=1,keepdims=True)+np.sum(b**2,axis=0,keepdims=True)-2*np.multiply(a,b),但是如果我使用paddlepaddle张量运算时,如果直接

fluid.layers.reduce_sum(fluid.layers.pow(input, 2.0), dim=1, keep_dim=True)+fluid.layers.reduce_sum(fluid.layers.pow(fluid.layers.transpose(input,[1,0]), 2.0), dim=0, keep_dim=True),会报维度不匹配问题,即paddle运算时a+b中a的行或列维度必须与b的相同,而tensorflow则没有这个问题,想问如果使用paddlepaddle的话还有什么其他的方式可以实现向量两两间距离矩阵运算?

 

0
收藏
回复
需求/bug反馈?一键提issue告诉我们
发现bug?如果您知道修复办法,欢迎提pr直接参与建设飞桨~
在@后输入用户全名并按空格结束,可艾特全站任一用户