numpy API:
flip:
flip(m, 0) is equivalent to flipud(m).
flip(m, 1) is equivalent to fliplr(m).
flip(m, n) corresponds to m[...,::-1,...] with ::-1 at position n.
flip(m) corresponds to m[::-1,::-1,...,::-1] with ::-1 at all positions.
flip(m, (0, 1)) corresponds to m[::-1,::-1,...] with ::-1 at position 0 and position 1.
>>> A = np.arange(8).reshape((2,2,2)) >>> A array([[[0, 1], [2, 3]], [[4, 5], [6, 7]]]) >>> flip(A, 0) array([[[4, 5], [6, 7]], [[0, 1], [2, 3]]]) >>> flip(A, 1) array([[[2, 3], [0, 1]], [[6, 7], [4, 5]]]) >>> np.flip(A) array([[[7, 6], [5, 4]], [[3, 2], [1, 0]]]) >>> np.flip(A, (0, 2)) array([[[5, 4], [7, 6]], [[1, 0], [3, 2]]]) >>> A = np.random.randn(3,4,5) >>> np.all(flip(A,2) == A[:,:,::-1,...]) True
flipud: (==flip(m, 1) )
Flip array in the up/down direction.
Flip the entries in each column in the up/down direction. Rows are preserved, but appear in a different order than before.
Equivalent to m[::-1,...]. Does not require the array to be two-dimensional.
>>> A = np.diag([1.0, 2, 3]) >>> A array([[ 1., 0., 0.], [ 0., 2., 0.], [ 0., 0., 3.]]) >>> np.flipud(A) array([[ 0., 0., 3.], [ 0., 2., 0.], [ 1., 0., 0.]]) >>> >>> A = np.random.randn(2,3,5) >>> np.all(np.flipud(A) == A[::-1,...]) True >>> >>> np.flipud([1,2]) array([2, 1])
fliplr: (==flip(m, 0))
Equivalent to m[:,::-1]. Requires the array to be at least 2-D.
Flip array in the left/right direction.
rot90
Rotate array counterclockwise.
>>> A = np.diag([1.,2.,3.]) >>> A array([[ 1., 0., 0.], [ 0., 2., 0.], [ 0., 0., 3.]]) >>> np.fliplr(A) array([[ 0., 0., 1.], [ 0., 2., 0.], [ 3., 0., 0.]]) >>> >>> A = np.random.randn(2,3,5) >>> np.all(np.fliplr(A) == A[:,::-1,...]) True
这篇博客介绍了numpy库中用于矩阵翻转的API,包括`flip`、`fliplr`和`flipud`。`flip`函数可以按任意轴进行翻转,`flipud`沿垂直方向翻转数组,等同于`flip(m, 1)`,而`fliplr`则沿水平方向翻转,等同于`flip(m, 0)`。这些函数在处理二维及以上的数组时非常有用。"
89319257,8446605,PyTorch训练中避免死机与内存占用过高,"['pytorch', '内存优化', '模型训练', '初学者问题', '深度学习']
3492

被折叠的 条评论
为什么被折叠?



