Skip to main content
 首页 » 编程设计

python之Tensorflow SxN矩阵乘以SxD矩阵输出SxNxD数组

2024年12月31日24虾米姐

我有一个矩阵 SxN,其中每个 K_ij 都是一个标量

[[K_11,K_12,K_13,..,K_1N], 
 [K_21,K_22,K_23,..,K_2N], 
 .., 
 [K_S1,K_S2,K_S3,..,K_SN]] 

另一个矩阵 SxD 使得每个 X_i 都是一个 Dx1 向量

[X_1, 
 X_2, 
 ..., 
 X_S] 

我想要一个这样的结果

[[K_11 * X_1],[K_12 * X_1] ..., [K_1N * X_1], 
 [K_21 * X_2],[K_22 * X_2] ..., [K_2N * X_2], 
 [K_31 * X_3],[K_32 * X_2] ..., [K_3N * X_3], 
  ......, 
  [K_S1 * X_S],[K_S2 * X_S] ..., [K_SN * X_S]] 

其中*代表相乘

有什么有效的方法吗?

请您参考如下方法:

或者(使用 TF API):

tf.matmul(tf.expand_dims(in1, axis=2), tf.expand_dims(in2, axis=1))