关于numpy.random.normal()以及np.clip()的学习笔记

首先回忆一下正态分布:

在numpy中对应于:

numpy.random.normal(loc=0.0, scale=1.0, size=None)  

参数的意义:

loc:float

代表概率分布的均值,在正态分布图中表示中心的位置坐标

scale:float

代表概率分布的标准差,在正态分布图中表示图形的宽度。值越大,图像越矮胖,值越小,图像越高瘦。

size:int or tuple of ints

代表输出的shape,默认为None,只输出一个值

在我们熟悉的正态分布中,其等价于标准正太分布(μ=0, σ=1)。

 

接下来是关于np.clip()截取函数的理解:
np.numpy(a,a_min,a_max,out=None)

将数组a中的所有数限定在范围[a_min,a_max],其中小于a_min的数,将变为a_min,大于a_max的值,将变为a_max。

参数含义:

a:代表要截取的数组

a_min:代表截取的下限,可以为数组,代表对应位置元素的截取下限

a_max:代表截取的上限,可以为数组,代表对应位置元素的截取上限

out:可选项,表示将强制截取后的结果放到这个数组中,但out中数组的shape必须和a的shape相同。

这里请注意,进行强制截取后,a中数据并未发生变化,只是获得了一个临时的数组。若想讲a变为,截取后的结果,

可以将out设置为a,或者将结果赋值给a。

 

例子:

>>> a = np.arange(10)

>>> np.clip(a, 1, 8)

array([1, 1, 2, 3, 4, 5, 6, 7, 8, 8])

>>> a   #a的值并未发生变化

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> np.clip(a, 3, 6, out=a)   #将截取后的结果赋值给a

array([3, 3, 3, 3, 4, 5, 6, 6, 6, 6])

>>> a = np.arange(10)

>>> a

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

>>> np.clip(a, [3, 4, 1, 1, 1, 4, 4, 4, 4, 4], 8)  #a_min也可以为数组,截取下限分别为数组元素,上限都为8

array([3, 4, 2, 3, 4, 5, 6, 7, 8, 8])

 

 

 

你可能感兴趣的:(Tensorflow)