pytorch中的nn.ZeroPad2d()零填充函數(shù)實(shí)例詳解
在卷積神經(jīng)網(wǎng)絡(luò)中,有使用設(shè)置padding的參數(shù),配合卷積步長,可以使得卷積后的特征圖尺寸大小不發(fā)生改變,那么在手動實(shí)現(xiàn)圖片或特征圖的邊界零填充時,常用的函數(shù)是nn.ZeroPad2d(),可以指定tensor的四個方向上的填充,比如左邊添加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))
知識點(diǎn)擴(kuò)展:pytorch零填充函數(shù)ZeroPad2d作用
pytorch中最常用的零填充函數(shù)是nn.ZeroPad2d,也就是對Tensor使用0進(jìn)行邊界填充,我們可以指定tensor的四個方向上的填充數(shù),比如左邊添加1dim、右邊添加2dim、上邊添加3dim、下邊添加4dim,即指定paddin參數(shù)為(1,2,3,4),如下:
pad = nn.ZeroPad2d(padding=(1, 2, 3, 4))
y = pad(x)
得到的y是x在四個方向上按照(1,2,3,4)進(jìn)行的補(bǔ)零操作,如下圖:
到此這篇關(guān)于pytorch中的nn.ZeroPad2d()零填充函數(shù)實(shí)例詳解的文章就介紹到這了,更多相關(guān)pytorch 零填充函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(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)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03基于python的BP神經(jīng)網(wǎng)絡(luò)及異或?qū)崿F(xiàn)過程解析
這篇文章主要介紹了基于python的BP神經(jīng)網(wǎng)絡(luò)及異或?qū)崿F(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09VSCode安裝Django插件后實(shí)現(xiàn)html語法提示的方法步驟
Vscode是微軟推出的一款優(yōu)秀的ide開發(fā)工具,界面簡潔美觀、默認(rèn)支持中文,擁有豐富的插件,支持Windows,OS X和Linux,下面這篇文章主要給大家介紹了關(guān)于VSCode安裝Django插件后實(shí)現(xiàn)html語法提示的方法步驟,需要的朋友可以參考下2022-08-08Python 基于FIR實(shí)現(xiàn)Hilbert濾波器求信號包絡(luò)詳解
今天小編就為大家分享一篇Python 基于FIR實(shí)現(xiàn)Hilbert濾波器求信號包絡(luò)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件
這篇文章主要給大家介紹了關(guān)于利用Python yagmail三行代碼實(shí)現(xiàn)發(fā)送郵件的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05