python - Tensorflow 3D 张量乘以 2D 矩阵

标签 python tensorflow

我正在尝试将 3D 张量乘以 2D 矩阵,但维度未知。 我在这里检查了所有相关帖子,但没有找到我想要的东西。

我有这些参数:

T - 形状(M,N)

L - 形状 (?,M,M)

F - 形状 (?, N)

我想用输出形状 (?,M) 进行乘法 L * T * F。

我尝试扩大尺寸等。

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

感谢您的建议。

最佳答案

你可以这样实现。

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 3D 张量乘以 2D 矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50812289/

相关文章:

python - os.walk 认为我的目录只包含 .DS_Store 文件

python - 训练时设置 "training=False"of "tf.layers.batch_normalization"会得到更好的验证结果

python - 如何对列表中的字典值进行排序?

python在类中的dll回调函数中访问self

python - 具有多个输入特征和多个输出的 LSTM

python - 将矩阵 A append 到矩阵 B

python - Tensorflow:赋值操作的优先级

python-3.x - TensorFlow 库被编译为使用 SSE 指令,但这些在您的机器上不可用。 : How to solve this?

random - 如何在 Tensorflow 中获得可重现的结果

python - Tensorflow Dataset API shuffle 将性能降低 9 倍