python 笔记
Posted love小酒窝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 笔记相关的知识,希望对你有一定的参考价值。
## numpy.argmax(a, axis=None, out=None)
返回沿轴axis最大值的索引。
Parameters:
a : array_like
数组
axis : int, 可选
默认情况下,索引的是平铺的数组,否则沿指定的轴。
out : array, 可选
如果提供,结果以合适的形状和类型被插入到此数组中。
Returns:
index_array : ndarray of ints
索引数组。它具有与a.shape相同的形状,其中axis被移除。
例子:
>>> a = np.arange(6).reshape(2,3)
>>> a
array([[0, 1, 2],
[3, 4, 5]])
>>> np.argmax(a)
5
>>> np.argmax(a, axis=0)#0代表列
array([1, 1, 1])
>>> np.argmax(a, axis=1)#1代表行
array([2, 2])
>>>
>>> b = np.arange(6)
>>> b[1] = 5
>>> b
array([0, 5, 2, 3, 4, 5])
>>> np.argmax(b) # 只返回第一次出现的最大值的索引
1
## numpy.max(a, axis=None, out=None)
与argmax类似,但返回值为最大元素而非索引。
## tf.boolean_mask(a,b)
tensorflow 里的一个函数,在做目标检测(YOLO)时常常用到。
其中b一般是bool型的n维向量,若a.shape=[3,3,3] b.shape=[3,3]
则 tf.boolean_mask(a,b) 将使a (m维)矩阵仅保留与b中“True”元素同下标的部分,并将结果展开到m-1维。
例:应用在YOLO算法中返回所有检测到的各类目标(车辆、行人、交通标志等)的位置信息(bx,by,bh,bw)
a = np.random.randn(3, 3,3)
b = np.max(a,-1)
c= b >0.5
print("a="+str(a))
print("b="+str(b))
print("c="+str(c))
with tf.Session() as sess:
d=tf.boolean_mask(a,c)
print("d="+str(d.eval(session=sess)))
>>
a=[[[-1.25508127 1.76972539 0.21302597] [-0.2757053 -0.28133549 -0.50394556] [-0.70784415 0.52658374 -3.04217963]] [[ 0.63942957 -0.76669861 -0.2002611 ] [-0.38026374 0.42007134 -1.08306957] [ 0.30786828 1.80906798 -0.44145949]] [[ 0.22965498 -0.23677034 0.24160667] [ 0.3967085 1.70004822 -0.19343556] [ 0.18405488 -0.95646895 -0.5863234 ]]] b=[[ 1.76972539 -0.2757053 0.52658374] [ 0.63942957 0.42007134 1.80906798] [ 0.24160667 1.70004822 0.18405488]] c=[[ True False True] [ True False True] [False True False]] d=[[-1.25508127 1.76972539 0.21302597] [-0.70784415 0.52658374 -3.04217963] [ 0.63942957 -0.76669861 -0.2002611 ] [ 0.30786828 1.80906798 -0.44145949] [ 0.3967085 1.70004822 -0.19343556]]
以上是关于python 笔记的主要内容,如果未能解决你的问题,请参考以下文章