码迷,mamicode.com
首页 > 其他好文 > 详细

np.pad()

时间:2018-10-14 13:58:25      阅读:1058      评论:0      收藏:0      [点我收藏+]

标签:out   iss   不同的   img   pad   sdn   最大值   处理   csdn   

np.pad()常用与深度学习中的数据预处理,可以将numpy数组按指定的方法填充成指定的形状。

对一维数组的填充

 1 import numpy as np
 2 arr1D = np.array([1, 1, 2, 2, 3, 4])
 3 ‘‘‘不同的填充方法‘‘‘
 4 print ‘constant: ‘ + str(np.pad(arr1D, (2, 3), ‘constant‘))
 5 print ‘edge: ‘ + str(np.pad(arr1D, (2, 3), ‘edge‘))
 6 print ‘linear_ramp: ‘ + str(np.pad(arr1D, (2, 3), ‘linear_ramp‘))
 7 print ‘maximum: ‘ + str(np.pad(arr1D, (2, 3), ‘maximum‘))
 8 print ‘mean: ‘ + str(np.pad(arr1D, (2, 3), ‘mean‘))
 9 print ‘median: ‘ + str(np.pad(arr1D, (2, 3), ‘median‘))
10 print ‘minimum: ‘ + str(np.pad(arr1D, (2, 3), ‘minimum‘))
11 print ‘reflect: ‘ + str(np.pad(arr1D, (2, 3), ‘reflect‘))
12 print ‘symmetric: ‘ + str(np.pad(arr1D, (2, 3), ‘symmetric‘))
13 print ‘wrap: ‘ + str(np.pad(arr1D, (2, 3), ‘wrap‘))

结果:

技术分享图片

 

解释:

第一个参数是待填充数组

第二个参数是填充的形状,(2,3)表示前面两个,后面三个

第三个参数是填充的方法

 


填充方法:

constant:连续一样的值填充,有关于其填充值的参数。constant_values=(x, y)时前面用x填充,后面用y填充。缺参数是为0000。。。
edge:用边缘值填充
linear_ramp:边缘递减的填充方式
maximum, mean, median, minimum:分别用最大值、均值、中位数和最小值填充
reflect, symmetric:都是对称填充。前一个是关于边缘对称,后一个是关于边缘外的空气对称╮(╯▽╰)╭
wrap:用原数组后面的值填充前面,前面的值填充后面
也可以有其他自定义的填充方法

对多维数组的填充

 1 import numpy as np
 2 arr3D = np.array([[[1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4]], 
 3                   [[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]], 
 4                   [[1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4]]])
 5                   ‘‘‘对于多维数组‘‘‘
 6 print ‘constant:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘constant‘))  #第一个维度前面加0个,后面加0个,第二个维度前面1个,后面1个......
 7 print ‘edge:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘edge‘))
 8 print ‘linear_ramp:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘linear_ramp‘))
 9 print ‘maximum:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘maximum‘))
10 print ‘mean:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘mean‘))
11 print ‘median:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘median‘))
12 print ‘minimum:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘minimum‘))
13 print ‘reflect:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘reflect‘))
14 print ‘symmetric:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘symmetric‘))
15 print ‘wrap:  \n‘ + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), ‘wrap‘))

结果:

技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片

 

np.pad()

标签:out   iss   不同的   img   pad   sdn   最大值   处理   csdn   

原文地址:https://www.cnblogs.com/pacino12134/p/9785443.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!