本文介绍了乘以不同等级的张量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
限时送ChatGPT账号..我想将两个不同等级的张量相乘,例如
I would like to multiply two tensors with different ranks, e.g.
tensor A -> (i x j x k x l)
tensor B -> (l x m)
获得另一个具有此维度的张量.
to get another tensor with this dimensions.
tensor C -> (i x j x k x m) = (i x j x k x l)*(l x m)
在 tensorflow 中,我必须一直重塑才能获得输出
In tensorflow I have to reshape all the time to get the output as
(A.reshape(-1,l)*B).reshape(i,j,k,m)
还有其他直接做的操作吗?
Any other operation that does it directly?
推荐答案
您需要 tf.tensordot.不需要在实数乘法之前进行整形.如果你想沿着A的最后一维和B的第一维收缩张量A和B,你可以用这种方式将张量A和张量B相乘:
You need tf.tensordot. Reshaping before real multiplication is not necessary. If you want to contract tensor A and B along the A's last dimension and the B's first dimension, you can multiply tensor A and tensor B in this way:
tf.tensordot(A, B, axes=[[3], [0]])
这篇关于乘以不同等级的张量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论