Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 不同秩的乘法张量_Tensorflow_Algebra_Tensor - Fatal编程技术网

Tensorflow 不同秩的乘法张量

Tensorflow 不同秩的乘法张量,tensorflow,algebra,tensor,Tensorflow,Algebra,Tensor,我想乘以两个不同秩的张量,例如 tensor A -> (i x j x k x l) tensor B -> (l x m) 得到另一个具有这个维度的张量 tensor C -> (i x j x k x m) = (i x j x k x l)*(l x m) 在tensorflow中,我必须始终进行重塑,以获得如下输出: (A.reshape(-1,l)*B).reshape(i,j,k,m) 任何其他直接执行此操作的操作?您需要。不需要在实数乘法之前进行整形。如果

我想乘以两个不同秩的张量,例如

tensor A -> (i x j x k x l)
tensor B -> (l x m)
得到另一个具有这个维度的张量

tensor C -> (i x j x k x m) = (i x j x k x l)*(l x m)
在tensorflow中,我必须始终进行重塑,以获得如下输出:

(A.reshape(-1,l)*B).reshape(i,j,k,m)
任何其他直接执行此操作的操作?

您需要。不需要在实数乘法之前进行整形。如果要沿A的最后一个维度和B的第一个维度收缩张量A和B,可以通过以下方式将张量A和张量B相乘:

tf.tensordot(A, B, axes=[[3], [0]])

你是在尝试将这些张量元素相乘,还是执行(批量)矩阵乘法?它是这样的矩阵乘法(i x j x k x l)*(l x m)=(i x j x k x m)。它可能是一个批量矩阵乘法。但是您需要使用
tf.matmul
而不是
*
tf.matmul
给出秩错误(Tensorflow 1.4)<代码>np.matmul似乎按预期工作。使用tf.tensordot: