-
np.spacing(1)==
np.finfo(np.float64).eps
numpy.
spacing
(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'spacing'>返回x和最近相邻数字之间的距离。(Python能表示的小数与其整数位的保持一定的相对大小)
参数: x : array_like
要查找的间距的值。
out : ndarray、none或ndarray和none的元组,可选
存储结果的位置。如果提供,它必须具有输入广播到的形状。如果没有提供或 None ,将返回新分配的数组。元组(只能作为关键字参数)的长度必须等于输出数。
在哪里? : 阵列式,可选
值“真”表示在该位置计算ufunc,值“假”表示只保留输出中的值。
**kwargs
有关其他仅限关键字的参数,请参见 ufunc docs .
返回: out : ndarray或scalar
值的间距 x . 这是一个标量,如果 x 是标量。
笔记
它可以被视为eps的一个泛化:
spacing(np.float64(1)) == np.finfo(np.float64).eps
,之间不应存在任何可表示的数字x + spacing(x)
对于任何有限的x。+-inf和nan的间距为nan。
实例
>>> np.spacing(1) == np.finfo(np.float64).eps True
-
numpy交换维度以及pytorch交换维度
numpy: 使用transpose, 虽然拥有swapaxes, 但是只可以交换两维数据 pytorch: 使用permute, 虽然拥有transpose,但是只可以交换两维数据
numpy库对多维数组有非常灵巧的处理方式,主要的处理方法有:
.transpose(shape): 不带参数就是转置,和.T相同,带参数就是交换维度
- .reshape(shape) : 不改变数组元素,返回一个shape形状的数组,原数组不变
- .resize(shape) : 与.reshape()功能一致,但修改原数组
- .swapaxes(ax1,ax2) : 将数组n个维度中两个维度进行调换,不改变原数组
- .flatten() : 对数组进行降维,返回折叠后的一维数组,原数组不变
- 转换类型, np.cast查看可转换类型
.astype(np.int32)#一定不要带''