题目
可以把维度中数值为1进行压缩的函数是:A. squeezeB. transposeC. reshapeD. expand_dims
可以把维度中数值为1进行压缩的函数是:
A. squeeze
B. transpose
C. reshape
D. expand_dims
题目解答
答案
A. squeeze
解析
本题考查对深度学习中常用数组操作函数功能的理解。解题的关键在于明确每个选项所代表函数的具体作用,然后判断哪个函数能够实现将维度中数值为1的维度进行压缩的功能。
各选项函数功能分析
- A.
squeeze:squeeze函数的主要作用是移除数组中维度大小为1的轴(维度)。例如,假设有一个形状为(1, 3, 1)的数组,使用squeeze函数后,它会将维度大小为1的第一个和第三个维度去掉,得到一个形状为(3,)的数组。其函数原型在NumPy中为numpy.squeeze(arr, axis=None),其中arr是输入的数组,axis是可选参数,用于指定要压缩的轴,如果不指定则会压缩所有大小为1的轴。
- B.
transpose:transpose函数用于改变数组的轴顺序。它不会改变数组的维度大小,只是重新排列轴的位置。例如,对于一个形状为(2, 3)的数组,使用transpose函数可以将其轴顺序交换,得到一个形状仍为(2, 3)但数据排列方式不同的数组。在NumPy中,其函数原型为numpy.transpose(arr, axes=None),arr是输入数组,axes是可选参数,用于指定新的轴顺序。
- C.
reshape:reshape函数用于改变数组的形状,但它不会自动压缩维度大小为1的轴。它只是根据用户指定的新形状重新组织数组中的元素。例如,对于一个有6个元素的一维数组,可以使用reshape函数将其变为形状为(2, 3)的二维数组。在NumPy中,其函数原型为numpy.reshape(arr, newshape, order='C'),arr是输入数组,newshape是新的形状,order是可选参数,用于指定元素的读取顺序。
- D.
expand_dims:expand_dims函数的作用与squeeze相反,它是在数组中添加新的轴,而不是压缩轴。例如,对于一个形状为(3,)的一维数组,使用expand_dims函数可以在指定位置添加一个新的轴,使其变为形状为(1, 3)或(3, 1)的二维数组。在NumPy中,其函数原型为numpy.expand_dims(arr, axis),arr是输入数组,axis是要添加新轴的位置。
综上所述,能够将维度中数值为1进行压缩的函数是 squeeze。