我正在尝试将3D张量乘以2D矩阵,但尺寸未知。
我在这里检查了所有关于此的帖子,但没有找到我想要的内容。

我有以下参数:

T形(M,N)

L-形状(?,M,M)

F-形状(?,N)

我想将L * T * F与输出形状(?,M)相乘。

我尝试扩大尺寸等。

不幸的是,我总是会丢失?维。

感谢您的任何建议。

最佳答案

您可以这样实现。

L --> [?, M, M]
T --> [M, N]
tensordot(L,T) axes [[2], [0]] --> [?,M, N]
F --> [?, N] --> expand axis --> [?, N, 1]
matmul [?, M, N], [?, N, 1] --> [?, M, 1] --> squeeze --> [?, M]


放在一起:

tf.squeeze(tf.matmul(tf.tensordot(L,T, axes=[[2],[0]]),F[...,None]))

关于python - Tensorflow乘以2D矩阵的3D张量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50812289/

10-12 20:46