最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

在卷積神經(jīng)網(wǎng)絡(luò)中,為了避免因為卷積運(yùn)算導(dǎo)致輸出圖像縮小和圖像邊緣信息丟失,常常采用圖像邊緣填充技術(shù),即在圖像四周邊緣填充0,使得卷積運(yùn)算后圖像大小不會縮小,同時也不會丟失邊緣和角落的信息。在Python的numpy庫中,常常采用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表示在各維度的各個方向上想要填補(bǔ)的長度。參數(shù)輸入方式為: ((before_1, after_1), … (before_N, after_N));
  • mode表示填充的方式,總共有11種填充模式;
  • **kwargs表示填充的值,與pad_width相對應(yīng)。

填充模式

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

示例

examples1: 用不同的填充模式對一維數(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: 用不同的填充模式對多維數(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填充模式對一維數(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填充模式對多維數(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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實現(xiàn)圖像去霧效果的示例代碼

    Python實現(xiàn)圖像去霧效果的示例代碼

    本文將利用《bringing old photos back to life》 的開源代碼,并在此基礎(chǔ)上進(jìn)行修改,從而實現(xiàn)圖像去霧的效果,感興趣的小伙伴可以學(xué)習(xí)一下
    2022-02-02
  • Python中if語句的使用方法及實例代碼

    Python中if語句的使用方法及實例代碼

    if語句能夠進(jìn)行條件測試,并依據(jù)一定的條件進(jìn)行具體的操作,下面這篇文章主要給大家介紹了關(guān)于Python中if語句的使用方法及實例代碼,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-11-11
  • Python圖像處理Pillow庫的基礎(chǔ)使用

    Python圖像處理Pillow庫的基礎(chǔ)使用

    Pillow庫是Python中最流行的圖像處理庫之一,它是PIL(Python Imaging Library)的一個分支,提供了豐富的圖像處理功能,使圖像處理變得簡單而高效,在這篇文章中,我們將探討Pillow庫的一些基本功能,感興趣的朋友可以參考下
    2023-09-09
  • Python編寫一個代碼規(guī)范自動檢查工具

    Python編寫一個代碼規(guī)范自動檢查工具

    在Python開發(fā)中,代碼規(guī)范對于項目的可維護(hù)性和團(tuán)隊協(xié)作效率至關(guān)重要,本文介紹一個基于AST的Python import語句位置自動檢查與修復(fù)工具,希望對大家有所幫助
    2025-10-10
  • Appium自動化測試實現(xiàn)H5頁面元素定位

    Appium自動化測試實現(xiàn)H5頁面元素定位

    本文主要介紹了Appium自動化測試實現(xiàn)H5頁面元素定位,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python getpass實現(xiàn)密文實例詳解

    python getpass實現(xiàn)密文實例詳解

    這篇文章主要介紹了python getpass實現(xiàn)密文實例詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Python人臉檢測實戰(zhàn)之疲勞檢測

    Python人臉檢測實戰(zhàn)之疲勞檢測

    本文主要介紹了實現(xiàn)疲勞檢測:如果眼睛已經(jīng)閉上了一段時間,我們會認(rèn)為他們開始打瞌睡并發(fā)出警報來喚醒他們并引起他們的注意。感興趣的朋友可以了解一下
    2021-12-12
  • python使用cartopy在地圖中添加經(jīng)緯線的示例代碼

    python使用cartopy在地圖中添加經(jīng)緯線的示例代碼

    gridlines可以根據(jù)坐標(biāo)系,自動繪制網(wǎng)格線,這對于普通繪圖來說顯然不必單獨(dú)拿出來說說,但在地圖中,經(jīng)緯線幾乎是必不可少的,本文將給大家介紹了python使用cartopy在地圖中添加經(jīng)緯線的方法,需要的朋友可以參考下
    2024-01-01
  • Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實現(xiàn)方法示例

    Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實現(xiàn)方法示例

    這篇文章主要介紹了Python圖像處理之圖像的縮放、旋轉(zhuǎn)與翻轉(zhuǎn)實現(xiàn)方法,結(jié)合實例形式分析了Python使用resize()、rotate()及transpose()等函數(shù)進(jìn)行圖像的縮放、旋轉(zhuǎn)及翻轉(zhuǎn)相關(guān)操作技巧,需要的朋友可以參考下
    2019-01-01
  • Python內(nèi)置函數(shù)object的具體使用

    Python內(nèi)置函數(shù)object的具體使用

    Python內(nèi)置函數(shù)object是Python中最基礎(chǔ)的類,它是所有類的基類,在 Python 中,所有的類都直接或間接地繼承自object類,object類提供了一些默認(rèn)的方法和屬性,這些方法和屬性可以被所有 Python 對象使用,
    2025-07-07

最新評論

根河市| 福建省| 临颍县| 沧源| 邯郸县| 涞水县| 海淀区| 孝昌县| 泰宁县| 临猗县| 沧源| 兴义市| 永兴县| 临沂市| 新野县| 原平市| 阿克苏市| 星座| 林西县| 盐池县| 浦城县| 平阴县| 高邑县| 新田县| 南皮县| 张家口市| 宜良县| 济宁市| 通化市| 江安县| 都昌县| 江川县| 白沙| 遂川县| 从江县| 福清市| 大埔县| 江山市| 琼海市| 襄汾县| 塔河县|