In [290]: a = np.random.randint(0,9,(3,128,192))
In [291]: %timeit np.repeat(a[None],100,axis=0)
100 loops, best of 3: 6.15 ms per loop
In [292]: %timeit strided_repeat_newaxis0(a, 100)
100000 loops, best of 3: 4.69 µs per loop
In [293]: %timeit np.broadcast_to(a, (n,) + a.shape)
100000 loops, best of 3: 3.03 µs per loop
# ~ 4x faster than using `np.stack`
In [292]: %timeit np.concatenate([a[np.newaxis, :, :]]*n)
100000 loops, best of 3: 10.7 µs per loop
In [293]: %timeit np.stack([a]*n)
10000 loops, best of 3: 41.1 µs per loop
可以将^{} 方法与^{} 一起使用:
方法1:一种方法是使用} -
np.repeat
在将输入数组扩展到多个维度之后沿着第一个轴重复,一个带有^{样本运行-
1)二维盒:
^{pr2}$2)3D案例:
方法2:如果您不介意输入数组的只读版本,我们可以使用
np.broadcast_to
-方法3:如果您不介意输入数组的视图,这里有一个有着惊人进展的视图-
运行时测试
只需使用
np.stack
或者,如果您真正关心性能,您应该使用
^{pr2}$np.concatenate
。在示例:
性能:
相关问题 更多 >
编程相关推荐