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

pytorch 中pad函數(shù)toch.nn.functional.pad()的用法

 更新時(shí)間:2020年01月08日 10:33:10   作者:geter_CS  
今天小編就為大家分享一篇pytorch 中pad函數(shù)toch.nn.functional.pad()的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

padding操作是給圖像外圍加像素點(diǎn)。

為了實(shí)際說(shuō)明操作過(guò)程,這里我們使用一張實(shí)際的圖片來(lái)做一下處理。

這張圖片是大小是(256,256),使用pad來(lái)給它加上一個(gè)黑色的邊框。具體代碼如下:

import torch.nn,functional as F
import torch
from PIL import Image
im=Image.open("heibai.jpg",'r')

X=torch.Tensor(np.asarray(im))
print("shape:",X.shape)
dim=(10,10,10,10)
X=F.pad(X,dim,"constant",value=0)

padX=X.data.numpy()
padim=Image.fromarray(padX)
padim=padim.convert("RGB")#這里必須轉(zhuǎn)為RGB不然會(huì)

padim.save("padded.jpg","jpeg")
padim.show()
print("shape:",padX.shape)

輸出:

shape: torch.Size([256, 256])
shape: (276, 276)

可以看出給原圖四個(gè)方向給加上10維度的0,維度變?yōu)?56+10+10得到的圖像如下:

我們?cè)谂e幾個(gè)簡(jiǎn)單例子:

x=np.asarray([[[1,2],[1,2]]])
X=torch.Tensor(x)
print(X.shape)
pad_dims = (
          2, 2,
          2, 2,
          1, 1,

        )
X=F.pad(X,pad_dims,"constant")
print(X.shape)
print(X)

輸出:

torch.Size([1, 2, 2])
torch.Size([3, 6, 6])
tensor([[[ 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., 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., 0., 0.],
     [ 0., 0., 1., 2., 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., 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.]]])

可以知若pid_sim為(2,2,2,2,1,1)則原維度變化是2+2+2=6,1+1+1=3.也就是第一個(gè)(2,2) pad的是最后一個(gè)維度,第二個(gè)(2,2)pad是倒數(shù)第二個(gè)維度,第三個(gè)(1,1)pad是第一個(gè)維度。

再舉一個(gè)四維度的,但是只pad三個(gè)維度:

x=np.asarray([[[[1,2],[1,2]]]])
X=torch.Tensor(x)#(1,2,2)
print(X.shape)
pad_dims = (
          2, 2,
          2, 2,
          1, 1,

        )
X=F.pad(X,pad_dims,"constant")#(1,1,12,12)
print(X.shape)
print(X)

輸出:

torch.Size([1, 1, 2, 2])
torch.Size([1, 3, 6, 6])
tensor([[[[ 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., 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., 0., 0.],
     [ 0., 0., 1., 2., 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., 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.]]]])

再舉一個(gè)四維度的,pad四個(gè)維度:

x=np.asarray([[[[1,2],[1,2]]]])
X=torch.Tensor(x)#(1,2,2)
print(X.shape)
pad_dims = (
          2, 2,
          2, 2,
          1, 1,
          2, 2

        )
X=F.pad(X,pad_dims,"constant")#(1,1,12,12)
print(X.shape)
print(X)

輸出:

torch.Size([1, 1, 2, 2])
torch.Size([5, 3, 6, 6])
tensor([[[[ 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., 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., 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., 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., 0., 0.],
     [ 0., 0., 0., 0., 0., 0.]]],


.........太多了

以上這篇pytorch 中pad函數(shù)toch.nn.functional.pad()的用法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 用python 批量操作redis數(shù)據(jù)庫(kù)

    用python 批量操作redis數(shù)據(jù)庫(kù)

    這篇文章主要介紹了如何用python 批量操作redis數(shù)據(jù)庫(kù),幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下
    2021-03-03
  • Python基于socket實(shí)現(xiàn)TCP/IP客戶和服務(wù)器通信

    Python基于socket實(shí)現(xiàn)TCP/IP客戶和服務(wù)器通信

    本主要介紹了Python socket網(wǎng)絡(luò)編程TCP/IP服務(wù)器與客戶端通信的相關(guān)資料,這里對(duì)Scoket 進(jìn)行詳解并創(chuàng)建TCP服務(wù)器及TCP 客戶端實(shí)例代碼,需要的朋友可以參考下
    2021-06-06
  • Python Socket實(shí)現(xiàn)簡(jiǎn)單TCP Server/client功能示例

    Python Socket實(shí)現(xiàn)簡(jiǎn)單TCP Server/client功能示例

    這篇文章主要介紹了Python Socket實(shí)現(xiàn)簡(jiǎn)單TCP Server/client功能,結(jié)合實(shí)例形式分析了Python基于socket創(chuàng)建TCP服務(wù)器Server與客戶端client相關(guān)實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下
    2017-08-08
  • 基于Python實(shí)現(xiàn)超級(jí)瑪麗游戲的示例代碼

    基于Python實(shí)現(xiàn)超級(jí)瑪麗游戲的示例代碼

    這篇文章主要介紹了利用python實(shí)現(xiàn)超級(jí)瑪麗游戲的示例代碼,幫助大家更好的理解和使用python開(kāi)發(fā)游戲,感興趣的朋友可以跟隨小編一起學(xué)習(xí)一下
    2022-05-05
  • Python關(guān)鍵字?asynico基本用法

    Python關(guān)鍵字?asynico基本用法

    asyncio是Python的異步編程庫(kù),用于編寫(xiě)并發(fā)程序,它提供了一組基于協(xié)程的工具,可以幫助你實(shí)現(xiàn)異步網(wǎng)絡(luò)通信、并發(fā)計(jì)算等任務(wù),這篇文章主要介紹了Python關(guān)鍵字?asynico,需要的朋友可以參考下
    2023-01-01
  • 基于Python制作天眼查小程序的示例代碼

    基于Python制作天眼查小程序的示例代碼

    本文主要介紹了如何利用Python制作一個(gè)天眼查GUI程序。這次的GUI程序,我們使用的框架是PyQt5,該框架擁有比tkinter更為豐富的內(nèi)置組件,在界面美化方面,貌似也更勝一籌,快跟隨小編一起學(xué)起來(lái)吧
    2022-09-09
  • python實(shí)現(xiàn)在圖片上畫(huà)特定大小角度矩形框

    python實(shí)現(xiàn)在圖片上畫(huà)特定大小角度矩形框

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)在圖片上畫(huà)特定大小角度矩形框,以及C++的實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • python中xlutils庫(kù)用法淺析

    python中xlutils庫(kù)用法淺析

    在本篇文章里小編給大家整理了一篇關(guān)于python中xluntils庫(kù)用法淺析的內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • Python partial函數(shù)原理及用法解析

    Python partial函數(shù)原理及用法解析

    這篇文章主要介紹了Python partial函數(shù)原理及用法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • LangChain簡(jiǎn)化ChatGPT工程復(fù)雜度使用詳解

    LangChain簡(jiǎn)化ChatGPT工程復(fù)雜度使用詳解

    這篇文章主要為大家介紹了LangChain簡(jiǎn)化ChatGPT工程復(fù)雜度使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03

最新評(píng)論