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

ResNet18詳細(xì)原理(含tensorflow版源碼)

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

ResNet18原理

? ? ? ? ResNet18是一個(gè)經(jīng)典的深度卷積神經(jīng)網(wǎng)絡(luò)模型,由微軟亞洲研究院提出,用于參加2015年的ImageNet圖像分類比賽。ResNet18的名稱來(lái)源于網(wǎng)絡(luò)中包含的18個(gè)卷積層。

ResNet18的基本結(jié)構(gòu)如下:

  • 輸入層:接收大小為224x224的RGB圖像。
  • 卷積層:共4個(gè)卷積層,每個(gè)卷積層使用3x3的卷積核和ReLU激活函數(shù),提取圖像的局部特征。
  • 殘差塊:共8個(gè)殘差塊,每個(gè)殘差塊由兩個(gè)卷積層和一條跳躍連接構(gòu)成,用于解決深度卷積神經(jīng)網(wǎng)絡(luò)中梯度消失和梯度爆炸問(wèn)題。
  • 全局平均池化層:對(duì)特征圖進(jìn)行全局平均池化,將特征圖轉(zhuǎn)化為一維

    向量。

  • 全連接層:包含一個(gè)大小為1000的全連接層,用于分類輸出。
  • 輸出層:使用softmax激活函數(shù),生成1000個(gè)類別的概率分布。

ResNet18詳細(xì)原理(含tensorflow版源碼)

ResNet18詳細(xì)原理(含tensorflow版源碼)?ResNet18詳細(xì)原理(含tensorflow版源碼)

???? ? ? ? ResNet18的主要特點(diǎn)是引入了殘差塊(Residual Block)的概念,用于解決深度卷積神經(jīng)網(wǎng)絡(luò)中梯度消失和梯度爆炸問(wèn)題。在殘差塊中,跳躍連接(Shortcut Connection)可以將輸入直接連接到輸出,使得網(wǎng)絡(luò)可以學(xué)習(xí)到殘差信息,從而更好地進(jìn)行特征提取和處理。

? ? ? ? 在訓(xùn)練過(guò)程中,ResNet18一般采用基于隨機(jī)梯度下降(Stochastic Gradient Descent,SGD)的反向傳播算法,通過(guò)最小化交叉熵?fù)p失函數(shù)來(lái)優(yōu)化模型參數(shù)。在訓(xùn)練過(guò)程中,可以使用數(shù)據(jù)增強(qiáng)、正則化、dropout等技術(shù)來(lái)提高模型的泛化能力和魯棒性。

? ? ? ? 總的來(lái)說(shuō),ResNet18是一個(gè)非常經(jīng)典和有效的深度卷積神經(jīng)網(wǎng)絡(luò)模型,具有良好的特征提取和分類能力,可以應(yīng)用于圖像分類、目標(biāo)檢測(cè)等計(jì)算機(jī)視覺(jué)任務(wù)。

ResNet18源碼(tensorflow版)


import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers,datasets,models



def main():
    (train_x,train_y),(test_x,test_y) = datasets.cifar10.load_data()

    train_x = train_x.reshape([-1,32,32,3]) / 255.0
    test_x = test_x.reshape([-1,32,32,3]) / 255.0

    inputs = keras.Input((32,32,3))

    output = ResNet18(inputs)

    model = models.Model(inputs,output)

    model.summary()

    model.compile(loss = keras.losses.SparseCategoricalCrossentropy(),
                  optimizer=keras.optimizers.Adam(0.01),
                  metrics=['accuracy'])
    model.fit(train_x,train_y,batch_size=128,epochs=10)

    score = model.evaluate(test_x,test_y)
    print("loss:",score[0])
    print("acc:",score[1])
    pass

def ConvCall(x,filtten,xx,yy,strides = (1,1)):
    x = layers.Conv2D(filtten,(xx,yy),strides=strides,padding='same')(x)
    x = layers.BatchNormalization()(x)
    return x

def ResNetblock(input,filtten,strides = (1,1)):
    x = ConvCall(input,filtten,3,3,strides=strides)
    x = layers.Activation("relu")(x)

    x = ConvCall(x,filtten,3,3,strides=(1,1))
    if strides != (1,1):
        residual = ConvCall(input,filtten,1,1,strides=strides)
    else:
        residual = input

    x = x + residual
    x = layers.Activation("relu")(x)

    return x

def ResNet18(inputs):
    x = ConvCall(inputs, 64, 3, 3, strides=(1, 1))
    x = layers.Activation('relu')(x)

    x = ResNetblock(x, 64, strides=(1, 1))
    x = ResNetblock(x, 64, strides=(1, 1))

    x = ResNetblock(x, 128, strides=(2, 2))
    x = ResNetblock(x, 128, strides=(1, 1))

    x = ResNetblock(x, 256, strides=(2, 2))
    x = ResNetblock(x, 256, strides=(1, 1))

    x = ResNetblock(x, 512, strides=(2, 2))
    x = ResNetblock(x, 512, strides=(1, 1))
    x = layers.GlobalAveragePooling2D()(x)  # 全局平均池化
    output = layers.Dense(10, "softmax")(x)
    return output


if __name__ == '__main__':
    main()

訓(xùn)練10個(gè)epoch的效果

ResNet18詳細(xì)原理(含tensorflow版源碼)

ResNet18詳細(xì)原理(含tensorflow版源碼)

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-441983.html

?

到了這里,關(guān)于ResNet18詳細(xì)原理(含tensorflow版源碼)的文章就介紹完了。如果您還想了解更多內(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)文章

  • ResNet18、50模型結(jié)構(gòu)

    ResNet18、50模型結(jié)構(gòu)

    論文地址: https://arxiv.org/pdf/1512.03385.pdf pytorch官方 預(yù)訓(xùn)練模型 地址: pytorch官方 resnet網(wǎng)絡(luò) 代碼(包括resnet18、34、50、101、152,resnext50_32x4d、resnext101_32x8d、wide_resnet50_2、wide_resnet101_2): torchvision.models.resnet — Torchvision 0.11.0 documentation https://pytorch.org/vision/stable/_modules/torchvis

    2024年02月06日
    瀏覽(24)
  • 基于ResNet-18實(shí)現(xiàn)Cifar-10圖像分類

    基于ResNet-18實(shí)現(xiàn)Cifar-10圖像分類

    安耀輝,男,西安工程大學(xué)電子信息學(xué)院,22級(jí)研究生 研究方向:小樣本圖像分類算法 電子郵箱:1349975181@qq.com 張思怡,女,西安工程大學(xué)電子信息學(xué)院,2022級(jí)研究生,張宏偉人工智能課題組 研究方向:機(jī)器視覺(jué)與人工智能 電子郵件:981664791@qq.com CIFAR-10 數(shù)據(jù)集由 60000張圖

    2024年02月06日
    瀏覽(23)
  • FPGA上利用Vitis AI部署resnet50 TensorFlow神經(jīng)網(wǎng)絡(luò)模型

    FPGA上利用Vitis AI部署resnet50 TensorFlow神經(jīng)網(wǎng)絡(luò)模型

    參考Xilinx官方教程快速入門 ? Vitis AI 用戶指南 (UG1414) 克隆 Vitis AI 存儲(chǔ)庫(kù)以獲取示例、參考代碼和腳本(連接github失敗可能需要科學(xué)上網(wǎng))。 安裝Docker如何在 Ubuntu 20.04 上安裝和使用 Docker 安裝完docker后,下載最新Vitis AI Docker, 將官方的指令 docker pull xilinx/vitis-ai-pytorch/tensorfl

    2024年02月04日
    瀏覽(120)
  • 【Tensorflow深度學(xué)習(xí)】實(shí)現(xiàn)手寫(xiě)字體識(shí)別、預(yù)測(cè)實(shí)戰(zhàn)(附源碼和數(shù)據(jù)集 超詳細(xì))

    【Tensorflow深度學(xué)習(xí)】實(shí)現(xiàn)手寫(xiě)字體識(shí)別、預(yù)測(cè)實(shí)戰(zhàn)(附源碼和數(shù)據(jù)集 超詳細(xì))

    需要源碼和數(shù)據(jù)集請(qǐng)點(diǎn)贊關(guān)注收藏后評(píng)論區(qū)留言私信~~~ 下面用到的數(shù)據(jù)集基于IAM數(shù)據(jù)集的英文手寫(xiě)字體自動(dòng)識(shí)別應(yīng)用,IAM數(shù)據(jù)庫(kù)主要包含手寫(xiě)的英文文本,可用于訓(xùn)練和測(cè)試手寫(xiě)文本識(shí)別以及執(zhí)行作者的識(shí)別和驗(yàn)證,該數(shù)據(jù)庫(kù)在ICDAR1999首次發(fā)布,并據(jù)此開(kāi)發(fā)了基于隱馬爾可夫

    2023年04月08日
    瀏覽(17)
  • Resnet18訓(xùn)練CIFAR10 準(zhǔn)確率95%

    準(zhǔn)確率 95.31% 幾個(gè)關(guān)鍵點(diǎn): 1、改模型:原始的resnet18首層使用的7x7的卷積核,CIFAR10圖片太小不適合,要改成3x3的,步長(zhǎng)和padding都要一并改成1。因?yàn)閳D太小,最大池化層也同樣沒(méi)用,刪掉。最后一個(gè)全連接層輸出改成10。 2、圖片增強(qiáng)不要太多,只要訓(xùn)練集和驗(yàn)證集結(jié)果沒(méi)有出

    2024年02月02日
    瀏覽(28)
  • TPU-MLIR實(shí)戰(zhàn)——ResNet18部署

    TPU-MLIR實(shí)戰(zhàn)——ResNet18部署

    1. 編譯 ONNX 模型 本章以 resnet18.onnx 為例 , 介紹如何編譯遷移一個(gè) onnx 模型至 BM1684X TPU 平臺(tái)運(yùn)行。 該模型來(lái)自 onnx 的官網(wǎng) : models/vision/classification/resnet/model/resnet18-v1-7.onnx at main · onnx/models · GitHub 本例模型和代碼在 http ://219.142.246.77:65000// sharing/hddTi2adl 下載到本地 model_resnet18

    2024年02月12日
    瀏覽(21)
  • pytorch 手動(dòng)順序搭建resnet18、附帶訓(xùn)練代碼、測(cè)試代碼

    pytorch 手動(dòng)順序搭建resnet18、附帶訓(xùn)練代碼、測(cè)試代碼

    文件名:mode_resnet18 去網(wǎng)上隨便下載一張圖

    2024年02月16日
    瀏覽(21)
  • Yolov5中使用Resnet18作為主干網(wǎng)絡(luò)

    Yolov5中使用Resnet18作為主干網(wǎng)絡(luò)

    采用Resnet-18作為主干網(wǎng)絡(luò),首先第一件事情就要了解Resnet的網(wǎng)絡(luò)結(jié)構(gòu) 以及resnet-18中的殘差層是做什么的 引入殘差層是為了解決伴隨著層數(shù)的遞增,而出現(xiàn)的梯度消失的問(wèn)題,從而引入了殘差層即 在sigmoid中其激活函數(shù) S ( x ) = 1 1 + e ? x S ‘ ( x ) = S ( x ) ( 1 ? S ( x ) ) S(x)=fra

    2023年04月08日
    瀏覽(14)
  • 【ResNet18】on IEMOCAP—語(yǔ)音情感識(shí)別(預(yù)處理篇)

    【ResNet18】on IEMOCAP—語(yǔ)音情感識(shí)別(預(yù)處理篇)

    在開(kāi)始模型訓(xùn)練前,一定要對(duì)數(shù)據(jù)處理熟悉! ? 一、預(yù)處理: 1、IEMOCAP語(yǔ)音數(shù)據(jù)部分 按照人(1F,1M,2F,2M,3F,3M,4F,4M,5F,5M): ang有語(yǔ)音數(shù)量:[147, 82, 67, 70, 92, 148, 205, 122, 78, 92] exc有語(yǔ)音數(shù)量:[63, 80, 96, 114, 48, 103, 154, 84, 82, 217] hap有語(yǔ)音數(shù)量:[69, 66, 70, 47, 80, 55, 31, 34, 77, 66] neu有語(yǔ)

    2024年02月08日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包