栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

窗口最大数量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

窗口最大数量

你可以这样做:

print arr.reshape(2,2,2,2).swapaxes(1,2).reshape(2,2,4).max(axis=-1)[[ 0.439  0.962] [-0.038  0.476]]

首先说明:

arr=np.array([[0.393,-0.428,-0.546,0.103],[0.439,-0.154,0.962,0.37,],[-0.038,-0.216,-0.314,0.458],[-0.123,-0.881,-0.204,0.476]])

我们首先要将轴分组为相关部分。

tmp = arr.reshape(2,2,2,2).swapaxes(1,2)print tmp[[[[ 0.393 -0.428]   [ 0.439 -0.154]]  [[-0.546  0.103]   [ 0.962  0.37 ]]] [[[-0.038 -0.216]   [-0.123 -0.881]]  [[-0.314  0.458]   [-0.204  0.476]]]]

再次重塑以获得所需的数据组:

tmp = tmp.reshape(2,2,4)print tmp[[[ 0.393 -0.428  0.439 -0.154]  [-0.546  0.103  0.962  0.37 ]] [[-0.038 -0.216 -0.123 -0.881]  [-0.314  0.458 -0.204  0.476]]]

最后沿最后一个轴取最大值。

对于平方矩阵,可以将其概括为:

k = arr.shape[0]/2arr.reshape(k,2,k,2).swapaxes(1,2).reshape(k,k,4).max(axis=-1)

根据Jamie和Dougal的评论,我们可以进一步概括一下:

n = 2        #Height of windowm = 2        #Width of windowk = arr.shape[0] / n    #Must divide evenlyl = arr.shape[1] / m    #Must divide evenlyarr.reshape(k,n,l,m).max(axis=(-1,-3))   #Numpy >= 1.7.1arr.reshape(k,n,l,m).max(axis=-3).max(axis=-1)      #Numpy <  1.7.1


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/659619.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号