提交 2c0e32dc authored 作者: Jeremiah Lowin's avatar Jeremiah Lowin

avoid using prod op (it has no Rop)

上级 03a31568
...@@ -6766,12 +6766,15 @@ def tensordot(a, b, axes = 2): ...@@ -6766,12 +6766,15 @@ def tensordot(a, b, axes = 2):
outshape = concatenate([a.shape[:a.ndim - axes], b.shape[axes:]]) outshape = concatenate([a.shape[:a.ndim - axes], b.shape[axes:]])
outndim = a.ndim + b.ndim - (2 * axes) outndim = a.ndim + b.ndim - (2 * axes)
a_reshaped = a.reshape((prod(a.shape[:a.ndim - axes]),
prod(a.shape[a.ndim - axes:])), a_shape_0 = b_shape_0 = 1
ndim = 2) for s0 in range(a.ndim - axes):
b_reshaped = b.reshape((prod(b.shape[:axes]), a_shape_0 *= a.shape[s0]
prod(b.shape[axes:])), for s0 in range(axes):
ndim = 2) b_shape_0 *= b.shape[s0]
a_reshaped = a.reshape((a_shape_0, -1), ndim = 2)
b_reshaped = b.reshape((b_shape_0, -1), ndim = 2)
return dot(a_reshaped, b_reshaped).reshape(outshape, outndim) return dot(a_reshaped, b_reshaped).reshape(outshape, outndim)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论