国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【CNN記錄】pytorch中BatchNorm2d

這篇具有很好參考價(jià)值的文章主要介紹了【CNN記錄】pytorch中BatchNorm2d。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

torch.nn.BatchNorm2d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True, device=None, dtype=None)

功能:對(duì)輸入的四維數(shù)組進(jìn)行批量標(biāo)準(zhǔn)化處理(歸一化)
計(jì)算公式如下:
【CNN記錄】pytorch中BatchNorm2d,DL,cnn,pytorch
對(duì)于所有的batch中樣本的同一個(gè)channel的數(shù)據(jù)元素進(jìn)行標(biāo)準(zhǔn)化處理,即如果有C個(gè)通道,無(wú)論batch中有多少個(gè)樣本,都會(huì)在通道維度上進(jìn)行標(biāo)準(zhǔn)化處理,一共進(jìn)行C次

num_features:通道數(shù)
eps:分母中添加的值,目的是計(jì)算的穩(wěn)定性(分母不出現(xiàn)0),默認(rèn)1e-5
momentum:用于運(yùn)行過(guò)程中均值方差的估計(jì)參數(shù),默認(rèn)0.1
【CNN記錄】pytorch中BatchNorm2d,DL,cnn,pytorch

affine:設(shè)為true時(shí),給定開易學(xué)習(xí)的系數(shù)矩陣r和b
track_running_stats:BN中存儲(chǔ)的均值方差是否需要更新,true需要更新

舉個(gè)例子

>import torch
>import torch.nn as nn

>input = torch.arange(0, 12, dtype=torch.float32).view(1, 3, 2, 2)
>print(m)
tensor([[[[ 0.,  1.],
          [ 2.,  3.]],

         [[ 4.,  5.],
          [ 6.,  7.]],

         [[ 8.,  9.],
          [10., 11.]]]])
>m= nn.BatchNorm2d(3)
>print(m.weight)
tensor([1., 1., 1.], requires_grad=True)
>print(m.bias)
tensor([0., 0., 0.], requires_grad=True)

>output = m(input)
>print(output)
tensor([[[[-1.3416, -0.4472],
          [ 0.4472,  1.3416]],

         [[-1.3416, -0.4472],
          [ 0.4472,  1.3416]],

         [[-1.3416, -0.4472],
          [ 0.4472,  1.3416]]]], grad_fn=<NativeBatchNormBackward0>)

上面是使用nn接口計(jì)算,現(xiàn)在我們拿第一個(gè)數(shù)據(jù)計(jì)算一下驗(yàn)證
公式:
【CNN記錄】pytorch中BatchNorm2d,DL,cnn,pytorch

#先計(jì)算第一個(gè)通道的均值、方差
>first_channel = input[0][0] #第一個(gè)通道
tensor([[0., 1.],
        [2., 3.]])

#1、計(jì)算均值方差
>mean = torch.Tensor.mean(first_channel)
tensor(1.5000)  #均值
>var=torch.Tensor.var(first_channel,False)
tensor(1.2500) #方差
#2、按照公式計(jì)算
>bn_value  =((input[0][0][0][0] -mean)/(torch.pow(var,0.5)+m.eps))*m.weight[0]+m.bias[0]
#這里就是(0-1.5)/sqrt(1.25+1e-5)*1.0 + 1.0

tensor(-1.3416, grad_fn=<AddBackward0>) 

第一個(gè)值都是-1.3416,對(duì)上了,其他都是一樣。

再來(lái)個(gè)batch_size>1的情況文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-568239.html

#先把結(jié)果貼出來(lái)
tensor([[[[-1.2288, -1.0650],
          [-0.9012, -0.7373]],

         [[-1.2288, -1.0650],
          [-0.9012, -0.7373]],

         [[-1.2288, -1.0650],
          [-0.9012, -0.7373]]],


        [[[ 0.7373,  0.9012],
          [ 1.0650,  1.2288]],

         [[ 0.7373,  0.9012],
          [ 1.0650,  1.2288]],

         [[ 0.7373,  0.9012],
          [ 1.0650,  1.2288]]]], grad_fn=<NativeBatchNormBackward0>)

>input = torch.arange(0, 24, dtype=torch.float32).view(2, 3, 2, 2)
tensor([[[[ 0.,  1.],
          [ 2.,  3.]],

         [[ 4.,  5.],
          [ 6.,  7.]],

         [[ 8.,  9.],
          [10., 11.]]],


        [[[12., 13.],
          [14., 15.]],

         [[16., 17.],
          [18., 19.]],

         [[20., 21.],
          [22., 23.]]]])

>first_channel =input[:, 0, :, :]
tensor([[[ 0.,  1.],
         [ 2.,  3.]],

        [[12., 13.],
         [14., 15.]]])
>mean = torch.Tensor.mean(first_channel)
tensor(7.5000)
>var=torch.Tensor.var(first_channel,False)
tensor(37.2500)
#第1個(gè)batch中的第一個(gè)c
>print(((input[0][0][:][:] -mean)/(torch.pow(var,0.5)+m.eps))*m.weight[0]+m.bias[0])
tensor([[-1.2288, -1.0650],
        [-0.9012, -0.7373]], grad_fn=<AddBackward0>)
#第2個(gè)batch中的第一個(gè)c(共用c的weight、bias、mean、var)
>print(((input[1][0][:][:] -mean)/(torch.pow(var,0.5)+m.eps))*m.weight[0]+m.bias[0])
tensor([[0.7373, 0.9012],
        [1.0650, 1.2288]], grad_fn=<AddBackward0>)

到了這里,關(guān)于【CNN記錄】pytorch中BatchNorm2d的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 在 FPGA 上通過(guò) 2D CNN 進(jìn)行高效視頻理解的 TSM 網(wǎng)絡(luò)

    在 FPGA 上通過(guò) 2D CNN 進(jìn)行高效視頻理解的 TSM 網(wǎng)絡(luò)

    在這個(gè)項(xiàng)目中,展示了 Temporal-Shift-Module ( https://hanlab.mit.edu/projects/tsm/)在 FPGA 上解決視頻理解問(wèn)題的實(shí)用性和性能。 TSM 是一種網(wǎng)絡(luò)結(jié)構(gòu),可以通過(guò) 2D CNN 有效學(xué)習(xí)時(shí)間關(guān)系。在較高級(jí)別上,這是通過(guò)一次對(duì)單個(gè)幀(在線 TSM)或多個(gè)幀(離線 TSM)執(zhí)行推理并在這些張量流經(jīng)網(wǎng)

    2024年02月10日
    瀏覽(14)
  • 基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

    基于小波時(shí)頻圖和2D-CNN的滾動(dòng)軸承故障檢測(cè)

    目錄 一、研究思路 ?1、基于小波時(shí)頻圖和CNN的滾軸故障診斷方法的研究思路如下: 二、數(shù)據(jù)集介紹與數(shù)據(jù)處理 ? 1、數(shù)據(jù)集介紹 2、數(shù)據(jù)集分割與合并 3、數(shù)據(jù)集分析 三、小波時(shí)頻圖導(dǎo)出 四、CNN網(wǎng)絡(luò)的構(gòu)建和測(cè)試 1、CNN網(wǎng)絡(luò)構(gòu)建 ?2、訓(xùn)練參數(shù)的優(yōu)化 4、訓(xùn)練結(jié)果 ?1、基于小

    2023年04月19日
    瀏覽(19)
  • CNN實(shí)現(xiàn)手寫數(shù)字識(shí)別(Pytorch)

    CNN實(shí)現(xiàn)手寫數(shù)字識(shí)別(Pytorch)

    CNN(卷積神經(jīng)網(wǎng)絡(luò))主要包括卷積層、池化層和全連接層。輸入數(shù)據(jù)經(jīng)過(guò)多個(gè)卷積層和池化層提取圖片信息后,最后經(jīng)過(guò)若干個(gè)全連接層獲得最終的輸出。 CNN的實(shí)現(xiàn)主要包括以下步驟: 數(shù)據(jù)加載與預(yù)處理 模型搭建 定義損失函數(shù)、優(yōu)化器 模型訓(xùn)練 模型測(cè)試 以下基于Pytorch框

    2024年02月03日
    瀏覽(24)
  • Pytorch的CNN,RNN&LSTM

    Pytorch的CNN,RNN&LSTM

    拿二維卷積舉例,我們先來(lái)看參數(shù) 卷積的基本原理,默認(rèn)你已經(jīng)知道了,然后我們來(lái)解釋pytorch的各個(gè)參數(shù),以及其背后的計(jì)算過(guò)程。 首先我們先來(lái)看卷積過(guò)后圖片的形狀的計(jì)算: 參數(shù): kernel_size :卷積核的大小,可以是一個(gè)元組,也就是(行大小,列大小) stride : 移動(dòng)步長(zhǎng)

    2024年02月04日
    瀏覽(21)
  • 分類預(yù)測(cè) | MATLAB實(shí)現(xiàn)1D-2D-CNN-GRU的多通道輸入數(shù)據(jù)分類預(yù)測(cè)

    分類預(yù)測(cè) | MATLAB實(shí)現(xiàn)1D-2D-CNN-GRU的多通道輸入數(shù)據(jù)分類預(yù)測(cè)

    分類效果 基本介紹 結(jié)合1D時(shí)序-2D圖像多模態(tài)融合的CNN-GRU故障識(shí)別算法,基于一維時(shí)序信號(hào)和二維圖像多元信息融合的卷積神經(jīng)網(wǎng)絡(luò)結(jié)門控循環(huán)單元網(wǎng)絡(luò)的數(shù)據(jù)分類預(yù)測(cè)/故障識(shí)別算法。要求2020版以上。 采用雙支路輸入,一路為圖像輸入經(jīng)CNN提取特征,一路為特征序列輸入經(jīng)

    2024年02月12日
    瀏覽(38)
  • 【深入了解pytorch】PyTorch卷積神經(jīng)網(wǎng)絡(luò)(CNN)簡(jiǎn)介

    卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是一種在計(jì)算機(jī)視覺(jué)任務(wù)中廣泛應(yīng)用的深度學(xué)習(xí)模型。它通過(guò)卷積層、池化層和全連接層等組件,能夠有效地提取圖像特征并實(shí)現(xiàn)高準(zhǔn)確率的圖像分類、目標(biāo)檢測(cè)和語(yǔ)義分割等任務(wù)。本文將詳細(xì)介紹CNN的原理,并演示如何使用PyTor

    2024年02月16日
    瀏覽(32)
  • CNN從搭建到部署實(shí)戰(zhàn)(pytorch+libtorch)

    CNN從搭建到部署實(shí)戰(zhàn)(pytorch+libtorch)

    下面的代碼搭建了CNN的開山之作LeNet的網(wǎng)絡(luò)結(jié)構(gòu)。 運(yùn)行代碼,輸出結(jié)果: 編寫訓(xùn)練代碼如下:16-18行解析參數(shù);20-21行加載網(wǎng)絡(luò);23-24行定義損失函數(shù)和優(yōu)化器;26-36行定義數(shù)據(jù)集路徑和數(shù)據(jù)變換,加載訓(xùn)練集和測(cè)試集(實(shí)際上應(yīng)該是驗(yàn)證集);37-57行for循環(huán)中開始訓(xùn)練num_epo

    2024年02月16日
    瀏覽(15)
  • 基于深度學(xué)習(xí)的圖片上色(Opencv,Pytorch,CNN)

    基于深度學(xué)習(xí)的圖片上色(Opencv,Pytorch,CNN)

    文末附有源碼下載地址。 灰度圖自動(dòng)上色 2.1 RGB 想要對(duì)灰度圖片上色,首先要了解圖像的格式,對(duì)于一副普通的圖像通常為RGB格式的,即紅、綠、藍(lán)三個(gè)通道,可以使用opencv分離圖像的三個(gè)通道,代碼如下所示: 代碼運(yùn)行結(jié)果如下所示。 2.2 hsv hsv是圖像的另一種格式,其中

    2024年02月01日
    瀏覽(15)
  • pytorch學(xué)習(xí)第五篇:NN與CNN代碼實(shí)例

    pytorch學(xué)習(xí)第五篇:NN與CNN代碼實(shí)例

    這篇文章詳細(xì)介紹了全鏈接神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)方法,以及卷積的實(shí)現(xiàn)方法。最后我們發(fā)現(xiàn),卷積的實(shí)現(xiàn)方法與全鏈接大同小異,因?yàn)?torch 為我們做了很多工作,我們來(lái)看看這兩個(gè)有什么區(qū)別。 我們使用 torch 框架來(lái)實(shí)現(xiàn)兩種神經(jīng)網(wǎng)絡(luò),來(lái)對(duì)圖形進(jìn)行分類。 首先我們引入依賴包 下

    2024年02月06日
    瀏覽(35)
  • 利用pytorch自定義CNN網(wǎng)絡(luò)(四):損失函數(shù)和優(yōu)化器

    利用pytorch自定義CNN網(wǎng)絡(luò)(四):損失函數(shù)和優(yōu)化器

    本文是利用pytorch自定義CNN網(wǎng)絡(luò)系列的第四篇,主要介紹如何訓(xùn)練一個(gè)CNN網(wǎng)絡(luò),關(guān)于本系列的全文見這里。 筆者的運(yùn)行環(huán)境:CPU (AMD Ryzen? 5 4600U) + pytorch (1.13,CPU版) + jupyter; 訓(xùn)練模型是為了得到合適的參數(shù)權(quán)重,設(shè)計(jì)模型的訓(xùn)練時(shí),最重要的就是損失函數(shù)和優(yōu)化器的選擇。

    2024年02月13日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包