网站域名解析到了空间 但空间未绑定此域名,北京哪里做网站,wordpress shortcode,手机免费永久建立网站NumPy#xff08;Numerical Python#xff09;是Python科学计算的核心库之一#xff0c;提供了高性能的多维数组对象#xff08;ndarray#xff09;以及用于数组操作的各种函数和工具。
np.finfo
finfo函数是根据括号中的类型来获得信息#xff0c;获得符合这个类型的数…NumPyNumerical Python是Python科学计算的核心库之一提供了高性能的多维数组对象ndarray以及用于数组操作的各种函数和工具。
np.finfo
finfo函数是根据括号中的类型来获得信息获得符合这个类型的数型 一般和eps一起eps是取非负的最小值。当计算的IOU为0或为负时使用np.finfo(np.float32).eps来替换 np.finfo使用方法eps是一个很小的非负数除法的分母不能为0的,不然会直接跳出显示错误。使用eps将可能出现的零用eps来替换这样不会报错。import numpy as npx np.array([1, 2, 3], dtypefloat)
eps np.finfo(x.dtype).eps # eps 2.220446049250313e-16 type class numpy.float64
print(eps, type(eps))
height np.array([0, 2, 3], dtypefloat)
height np.maximum(height, eps) #一旦height中出现0就用eps进行替换
print(height) #[2.22044605e-16 2.00000000e00 3.00000000e00]
dy x / height
print(dy) #[4.50359963e15 1.00000000e00 1.00000000e00]np.clip
在NumPy中我们可以使用np.clip函数来对数组进行截取即将数组中的元素限制在一个给定的范围内。即其中的元素被限制在[a_min, a_max]的范围内。
np.clip(a, a_min, a_max, outNone)a需要进行截取操作的数组。 a_min截取范围的最小值。 a_max截取范围的最大值。 out可选参数指定输出的存储位置。
情况1
import numpy as np
xnp.array([1,2,3,5,6,7,8,9])
np.clip(x,3,8)#限制在3x8
Out[88]:
array([3, 3, 3, 5, 6, 7, 8, 8])也就是说clip这个函数将将数组中的元素限制在a_min, a_max之间大于a_max的就使得它等于 a_max小于a_min,的就使得它等于a_min。
情况2 高维数组也是一样的:
xnp.array([[1,2,3,5,6,7,8,9],[1,2,3,5,6,7,8,9]])
np.clip(x,3,8)Out[90]:
array([[3, 3, 3, 5, 6, 7, 8, 8],[3, 3, 3, 5, 6, 7, 8, 8]])情况3 指定输出的存储位置
import numpy as npa np.array([1, 2, 3, 4, 5])
b np.zeros_like(a)
np.clip(a, 2, 4, outb)
print(a)
print(b)out:
[1 2 3 4 5]
[2 2 3 4 4]情况4 但是我发现a_min, a_max也可以为None
a np.random.randint(1,10,10)# 随机来1-10以内的10个数输出a:
Out[17]: array([9, 9, 8, 4, 8, 6, 6, 9, 4, 1])b np.clip(a,2,None)#a_min限制在2最大值不限输出b:
Out[19]: array([9, 9, 8, 4, 8, 6, 6, 9, 4, 2])c np.clip(a,None,7)#a_max限制在7最小值不限输出c:
Out[21]: array([7, 7, 7, 4, 7, 6, 6, 7, 4, 1])