numpy.squeeze() 这个函数的作用是去掉矩阵里维度为1的维度。例如,(1, 5)的矩阵经由np.squeeze处理后变成5;(5, 1, 6)的矩阵经由np.squeeze处理后变成(5, 6)。

        numpy提供了numpy.squeeze(a, axis=None)函数,从数组的形状中删除单维条目。其中a表示输入的数组;axis用于指定需要删除的维度,但是指定的维度必须为单维度,否则将会报错。axis的取值可为None 或 int 或 tuple of ints,若axis为空时则删除所有单维度的条目。

  • examples1:
    >>> import numpy as np
    >>> a = np.array([[[0], [1], [2]]])
    >>> a.shape
    (1, 3, 1)
    >>> np.squeeze(a).shape
    (3,)
    >>> np.squeeze(a, axis=(2,)).shape
    (1, 3)
    >>> np.squeeze(a, axis=(0,)).shape
    (3, 1)

  • examples2:
    >>> import numpy as np
    >>> a = np.arange(5).reshape(1,5)
    >>> a
    array([[0, 1, 2, 3, 4]])
    >>> a.shape
    (1, 5)
    >>> b = np.squeeze(a)
    >>> b
    array([0, 1, 2, 3, 4])
    >>> b.shape
    (5, )

  • examples3:
    >>> import numpy as np
    >>> a = np.arange(10).reshape(1,2,5)
    >>> a
    array([[[0, 1, 2, 3, 4],
                [5, 6, 7, 8, 9]]])
    >>> a.shape
    (1, 2, 5)
    >>> b = np.squeeze(a)
    >>> b
    array([[0, 1, 2, 3, 4],
               [5, 6, 7, 8, 9]])
    >>> b.shape
    (2, 5)