【发布时间】:2020-01-24 12:57:13
【问题描述】:
让x 成为形状为(n, m) 的np.array。
让y 成为形状为(n, k) 的np.array。
计算形状(n, m, k)的张量z的正确方法是什么
for all i in [0, n - 1]
z[i] = np.dot(x[i][:, np.newaxis], y[i][np.newaxis, :])
?
换句话说,每一对行(x_i, y_i) 给出一个形状为(m, k) 的矩阵。
我查看了np.tensordot,但经过多次试验,我找不到它的axes 参数的正确值。我不确定它是否适合这项工作。
【问题讨论】:
-
x[:,:, np.newaxis] * y[:, np.newaxis, :]能完成这项工作吗?由于dot和轴的大小为1,因此不需要dot或matmul。只需在广播中使用元素明智的乘法。
标签: numpy linear-algebra tensor