欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中numpy.pad()函數(shù)的使用詳解

 更新時(shí)間:2023年10月30日 10:07:40   作者:大彤小憶  
這篇文章主要介紹了Python中numpy.pad()函數(shù)的使用詳解,在卷積神經(jīng)網(wǎng)絡(luò)中,為了避免卷積運(yùn)算導(dǎo)致輸出圖像縮小和圖像邊緣信息丟失,常常采用圖像邊緣填充技術(shù),即在圖像四周邊緣填充0,使得卷積運(yùn)算后圖像大小不會(huì)縮小,同時(shí)也不會(huì)丟失邊緣和角落的信息,需要的朋友可以參考下

numpy.pad()函數(shù)的使用

在卷積神經(jīng)網(wǎng)絡(luò)中,為了避免因?yàn)榫矸e運(yùn)算導(dǎo)致輸出圖像縮小和圖像邊緣信息丟失,常常采用圖像邊緣填充技術(shù),即在圖像四周邊緣填充0,使得卷積運(yùn)算后圖像大小不會(huì)縮小,同時(shí)也不會(huì)丟失邊緣和角落的信息。在Python的numpy庫(kù)中,常常采用numpy.pad()進(jìn)行填充操作。

numpy.pad() 常用于深度學(xué)習(xí)中的數(shù)據(jù)預(yù)處理,可以將numpy數(shù)組按指定的方法填充成指定的形狀。

語法結(jié)構(gòu)

ndarray = numpy.pad(array, pad_width, mode, **kwargs)
  • array表示需要填充的數(shù)組;
  • pad_width表示在各維度的各個(gè)方向上想要填補(bǔ)的長(zhǎng)度。參數(shù)輸入方式為: ((before_1, after_1), … (before_N, after_N));
  • mode表示填充的方式,總共有11種填充模式;
  • **kwargs表示填充的值,與pad_width相對(duì)應(yīng)。

填充模式

  • constant表示連續(xù)填充相同的值,每個(gè)維度可以分別指定填充值,constant_values=(x, y)時(shí)前面用x填充,后面用y填充,缺省值填充0;
  • edge表示用邊緣值填充;
  • linear_ramp表示用邊緣遞減的方式填充;
  • maximum表示最大值填充;
  • mean表示均值填充;
  • median表示中位數(shù)填充;
  • minimum表示最小值填充;
  • reflect表示對(duì)稱填充;
  • symmetric表示對(duì)稱填充;
  • wrap表示用原數(shù)組后面的值填充前面,前面的值填充后面。

示例

examples1: 用不同的填充模式對(duì)一維數(shù)組進(jìn)行填充:

import numpy as np
arr1D = np.array([1, 1, 2, 2, 3, 3, 4, 4])
'''不同的填充模式'''
print('constant:  ' + str(np.pad(arr1D, (1, 2), 'constant')))
print('edge:  ' + str(np.pad(arr1D, (1, 2), 'edge')))
print('linear_ramp:  ' + str(np.pad(arr1D, (1, 2), 'linear_ramp')))
print('maximum:  ' + str(np.pad(arr1D, (1, 2), 'maximum')))
print('mean:  ' + str(np.pad(arr1D, (1, 2), 'mean')))
print('median:  ' + str(np.pad(arr1D, (1, 2), 'median')))
print('minimum:  ' + str(np.pad(arr1D, (1, 2), 'minimum')))
print('reflect:  ' + str(np.pad(arr1D, (1, 2), 'reflect')))
print('symmetric:  ' + str(np.pad(arr1D, (1, 2), 'symmetric')))
print('wrap:  ' + str(np.pad(arr1D, (1, 2), 'wrap')))

不同模式填充結(jié)果:
constant: [0 1 1 2 2 3 3 4 4 0 0]
edge: [1 1 1 2 2 3 3 4 4 4 4]
linear_ramp: [0 1 1 2 2 3 3 4 4 2 0]
maximum: [4 1 1 2 2 3 3 4 4 4 4]
mean: [2 1 1 2 2 3 3 4 4 2 2]
median: [2 1 1 2 2 3 3 4 4 2 2]
minimum: [1 1 1 2 2 3 3 4 4 1 1]
reflect: [1 1 1 2 2 3 3 4 4 4 3]
symmetric: [1 1 1 2 2 3 3 4 4 4 4]
wrap: [4 1 1 2 2 3 3 4 4 1 1]

examples2: 用不同的填充模式對(duì)多維數(shù)組進(jìn)行填充:

import numpy as np
arr3D = np.array([[[1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4]], 
                  [[0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]], 
                  [[1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4], [1, 1, 2, 2, 3, 4]]])
'''不同的填充模式'''
print('constant:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'constant')))
print('edge:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'edge')))
print('linear_ramp:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'linear_ramp')))
print('maximum:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'maximum')))
print('mean:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'mean')))
print('median:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'median')))
print('minimum:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'minimum')))
print('reflect:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'reflect')))
print('symmetric:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'symmetric')))
print('wrap:  \n' + str(np.pad(arr3D, ((0, 0), (1, 1), (2, 2)), 'wrap')))

constant填充模式的結(jié)果如下(其他模式的運(yùn)行結(jié)果省略):

[[[0 0 0 0 0 0 0 0 0 0]
[0 0 1 1 2 2 3 3 0 0]
[0 0 1 1 2 2 3 3 0 0]
[0 0 1 1 2 2 3 3 0 0]
[0 0 0 0 0 0 0 0 0 0]]
[[0 0 0 0 0 0 0 0 0 0]
[0 0 0 1 2 3 4 5 0 0]
[0 0 0 1 2 3 4 5 0 0]
[0 0 0 1 2 3 4 5 0 0]
[0 0 0 0 0 0 0 0 0 0]]
[[0 0 0 0 0 0 0 0 0 0]
[0 0 4 4 5 5 6 6 0 0]
[0 0 4 4 5 5 6 6 0 0]
[0 0 4 4 5 5 6 6 0 0]
[0 0 0 0 0 0 0 0 0 0]]]

examples3: 使用constant填充模式對(duì)一維數(shù)組填充。

import numpy as np
arr1D = np.array([1, 2, 3])

ndarray=np.pad(arr1D,(1,2),'constant', constant_values=(0,2))
# (1,2)表示在一維數(shù)組array前面填充1位,最后面填充2位
#  constant_values=(0,2) 表示前面填充0,后面填充2
  
print("arr1D=",arr1D)
print("ndarray=",ndarray)

運(yùn)行結(jié)果:

arr1D= [1 2 3]

ndarray= [0 1 2 3 2 2]

examples4: 使用constant填充模式對(duì)多維數(shù)組填充。

import numpy as np
arr2D = np.array([[1, 1],[2,2]])
     
"""
((1,1),(2,2))表示在二維數(shù)組array第一維(此處便是行)前面填充1行,最后面填充1行;
                 在二維數(shù)組array第二維(此處便是列)前面填充2列,最后面填充2列
constant_values=(0,3) 表示第一維填充0,第二維填充3
"""
ndarray=np.pad(arr2D,((1,1),(2,2)),'constant', constant_values=(0,3)) 
     
print("arr2D=",arr2D)
print("ndarray=",ndarray)

運(yùn)行結(jié)果:

arr2D= [[1 1]
[2 2]]
ndarray= [[0 0 0 0 3 3]
[0 0 1 1 3 3]
[0 0 2 2 3 3]
[0 0 3 3 3 3]]

到此這篇關(guān)于Python中numpy.pad()函數(shù)的使用詳解的文章就介紹到這了,更多相關(guān)numpy.pad()函數(shù)的使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch 數(shù)據(jù)處理:定義自己的數(shù)據(jù)集合實(shí)例

    pytorch 數(shù)據(jù)處理:定義自己的數(shù)據(jù)集合實(shí)例

    今天小編就為大家分享一篇pytorch 數(shù)據(jù)處理:定義自己的數(shù)據(jù)集合實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python的異常問題(Python Exception)

    Python的異常問題(Python Exception)

    這篇文章主要介紹了Python的異常問題(Python Exception),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python 調(diào)用釘釘機(jī)器人的方法

    python 調(diào)用釘釘機(jī)器人的方法

    今天小編就為大家分享一篇python 調(diào)用釘釘機(jī)器人的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • python mysql斷開重連的實(shí)現(xiàn)方法

    python mysql斷開重連的實(shí)現(xiàn)方法

    這篇文章主要介紹了python mysql斷開重連的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 在Python中畫圖(基于Jupyter notebook的魔法函數(shù))

    在Python中畫圖(基于Jupyter notebook的魔法函數(shù))

    這篇文章主要介紹了在Python中畫圖(基于Jupyter notebook的魔法函數(shù)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • python實(shí)現(xiàn)讀取excel文件中所有sheet操作示例

    python實(shí)現(xiàn)讀取excel文件中所有sheet操作示例

    這篇文章主要介紹了python實(shí)現(xiàn)讀取excel文件中所有sheet操作,涉及Python基于openpyxl模塊的Excel文件讀取、遍歷相關(guān)操作技巧,需要的朋友可以參考下
    2019-08-08
  • Python的Scrapy框架中的CrawlSpider介紹和使用

    Python的Scrapy框架中的CrawlSpider介紹和使用

    這篇文章主要介紹了Python的Scrapy框架中的CrawlSpider介紹和使用,CrawlSpider其實(shí)是Spider的一個(gè)子類,除了繼承到Spider的特性和功能外,還派生除了其自己獨(dú)有的更加強(qiáng)大的特性和功能,其中最顯著的功能就是"LinkExtractors鏈接提取器",需要的朋友可以參考下
    2023-12-12
  • python 網(wǎng)絡(luò)爬蟲初級(jí)實(shí)現(xiàn)代碼

    python 網(wǎng)絡(luò)爬蟲初級(jí)實(shí)現(xiàn)代碼

    這篇文章主要介紹了python 網(wǎng)絡(luò)爬蟲初級(jí)實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2016-02-02
  • Python+Tkinter實(shí)現(xiàn)經(jīng)典井字棋小游戲

    Python+Tkinter實(shí)現(xiàn)經(jīng)典井字棋小游戲

    Tkinter是內(nèi)置到Python安裝包中的,只要安裝好Python之后就能import?Tkinter,而且IDLE也是用Tkinter編寫而成的。本文將用Tkinter編寫經(jīng)典的井字棋小游戲,需要的可以參考一下
    2022-03-03
  • 使用python如何對(duì)圖片進(jìn)行壓縮

    使用python如何對(duì)圖片進(jìn)行壓縮

    這篇文章主要介紹了使用python如何對(duì)圖片進(jìn)行壓縮,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11

最新評(píng)論