pytorch中的nn.ZeroPad2d()零填充函數(shù)實(shí)例詳解
在卷積神經(jīng)網(wǎng)絡(luò)中,有使用設(shè)置padding的參數(shù),配合卷積步長(zhǎng),可以使得卷積后的特征圖尺寸大小不發(fā)生改變,那么在手動(dòng)實(shí)現(xiàn)圖片或特征圖的邊界零填充時(shí),常用的函數(shù)是nn.ZeroPad2d(),可以指定tensor的四個(gè)方向上的填充,比如左邊添加1dim、右邊添加2dim、上邊添加3dim、下邊添加4dim,即指定paddin參數(shù)為(1,2,3,4),本文中代碼設(shè)置的是(3,4,5,6)如下:
import torch.nn as nn import cv2 import torchvision from torchvision.utils import save_image def same_padding(img): toTensor=torchvision.transforms.ToTensor() img=cv2.imread(img)#獲得的是(H,W,C) img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#轉(zhuǎn)換成正常的RGB通道 print("img_cv2 shape:",img.shape) img_tensor=toTensor(img)#轉(zhuǎn)成tensor后是(C,H,W) print("img_tensor shape:",img_tensor.shape) pad=nn.ZeroPad2d(padding=(3,4,5,6)) img_padding=pad(img_tensor) print("img_padding shape:",img_padding.shape) save_image(img_padding,'img_padding.jpg')#將tensor格式的圖片,直接保存成圖片 same_padding('bird.jpg')
代碼中需要注意的是,必須要將圖片數(shù)據(jù)轉(zhuǎn)換成tensor數(shù)據(jù)類型的才可以使用nn.zeroPad2d()函數(shù)
為了凸顯效果圖:我們將設(shè)置大尺度的0填充
nn.ZeroPad2d(padding=(100,30,60,60))
知識(shí)點(diǎn)擴(kuò)展:pytorch零填充函數(shù)ZeroPad2d作用
pytorch中最常用的零填充函數(shù)是nn.ZeroPad2d,也就是對(duì)Tensor使用0進(jìn)行邊界填充,我們可以指定tensor的四個(gè)方向上的填充數(shù),比如左邊添加1dim、右邊添加2dim、上邊添加3dim、下邊添加4dim,即指定paddin參數(shù)為(1,2,3,4),如下:
pad = nn.ZeroPad2d(padding=(1, 2, 3, 4))
y = pad(x)
得到的y是x在四個(gè)方向上按照(1,2,3,4)進(jìn)行的補(bǔ)零操作,如下圖:
到此這篇關(guān)于pytorch中的nn.ZeroPad2d()零填充函數(shù)實(shí)例詳解的文章就介紹到這了,更多相關(guān)pytorch 零填充函數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用cn2an實(shí)現(xiàn)中文數(shù)字與阿拉伯?dāng)?shù)字的相互轉(zhuǎn)換
這篇文章主要介紹了Python使用cn2an實(shí)現(xiàn)中文數(shù)字與阿拉伯?dāng)?shù)字的相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03基于python的BP神經(jīng)網(wǎng)絡(luò)及異或?qū)崿F(xiàn)過(guò)程解析
這篇文章主要介紹了基于python的BP神經(jīng)網(wǎng)絡(luò)及異或?qū)崿F(xiàn)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09python 多個(gè)參數(shù)不為空校驗(yàn)方法
今天小編就為大家分享一篇python 多個(gè)參數(shù)不為空校驗(yàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02VSCode安裝Django插件后實(shí)現(xiàn)html語(yǔ)法提示的方法步驟
Vscode是微軟推出的一款優(yōu)秀的ide開發(fā)工具,界面簡(jiǎn)潔美觀、默認(rèn)支持中文,擁有豐富的插件,支持Windows,OS X和Linux,下面這篇文章主要給大家介紹了關(guān)于VSCode安裝Django插件后實(shí)現(xiàn)html語(yǔ)法提示的方法步驟,需要的朋友可以參考下2022-08-08Python 基于FIR實(shí)現(xiàn)Hilbert濾波器求信號(hào)包絡(luò)詳解
今天小編就為大家分享一篇Python 基于FIR實(shí)現(xiàn)Hilbert濾波器求信號(hào)包絡(luò)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Python的信號(hào)庫(kù)Blinker用法詳解
在本篇文章里小編給大家整理了一篇關(guān)于Python的信號(hào)庫(kù)Blinker用法詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2020-12-12利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件
這篇文章主要給大家介紹了關(guān)于利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05