小土堆pytorch--現有網絡模型的使用及修改

現有網絡模型的使用及修改

  • 一級目錄
    • 二級目錄
      • 三級目錄
  • 現有網絡模型的使用及修改
    • 1.VGG16模型
      • VGG16網絡模型簡介
      • **核心特點**
      • **網絡結構細節**
      • **優缺點與應用**
      • **變種與后續發展**
    • 2. 使用vgg16模型

一級目錄

二級目錄

三級目錄

現有網絡模型的使用及修改

1.VGG16模型

VGG16網絡模型簡介

VGG16是2014年由牛津大學視覺幾何組(Visual Geometry Group, VGG)提出的卷積神經網絡(CNN)模型,在當年的ImageNet大規模視覺識別挑戰賽(ILSVRC)中獲得亞軍。它以結構簡潔、層次深、特征表達能力強著稱,是深度學習領域的經典模型之一,常用于圖像分類、目標檢測等任務的特征提取。

核心特點

  1. 深度結構

    • 16個可訓練的權重層組成(包括13個卷積層和3個全連接層),網絡層次較深,通過堆疊多個小尺寸卷積核(3×3)來增加網絡深度和非線性表達能力。
    • 相比早期使用大尺寸卷積核(如AlexNet的11×11)的模型,VGG16通過小卷積核的組合(兩個3×3卷積核相當于1個5×5的感受野,三個3×3相當于1個7×7的感受野),在減少參數的同時增強特征提取能力。
  2. 簡潔的網絡設計

    • 整體結構統一,采用卷積層+池化層交替堆疊的模式:
      • 卷積層:均使用3×3卷積核,步長為1, padding為1(保持特征圖尺寸不變),激活函數為ReLU。
      • 池化層:均使用2×2最大池化(Max Pooling),步長為2,用于下采樣和減少計算量。
  3. 全連接層與分類

    • 最后3層為全連接層,前兩層各有4096個神經元,第三層有1000個神經元(對應ImageNet的1000類分類任務),通過Softmax激活函數輸出分類概率。

網絡結構細節

以下是VGG16的層結構概覽(以輸入224×224 RGB圖像為例):

層類型尺寸/數量說明
輸入層224×224×3輸入圖像(RGB三通道)
卷積塊1
卷積層64×3×3×22個3×3卷積核,輸出64通道,ReLU激活
最大池化層2×2,步長2輸出尺寸變為112×112×64
卷積塊2
卷積層128×3×3×22個3×3卷積核,輸出128通道,ReLU激活
最大池化層2×2,步長2輸出尺寸變為56×56×128
卷積塊3
卷積層256×3×3×33個3×3卷積核,輸出256通道,ReLU激活
最大池化層2×2,步長2輸出尺寸變為28×28×256
卷積塊4
卷積層512×3×3×33個3×3卷積核,輸出512通道,ReLU激活
最大池化層2×2,步長2輸出尺寸變為14×14×512
卷積塊5
卷積層512×3×3×33個3×3卷積核,輸出512通道,ReLU激活
最大池化層2×2,步長2輸出尺寸變為7×7×512
全連接層
全連接層4096神經元ReLU激活,Dropout(防止過擬合)
全連接層4096神經元ReLU激活,Dropout
全連接層1000神經元Softmax激活,輸出分類概率

優缺點與應用

  • 優點

    • 結構簡單、層次分明,易于復現和修改,是研究CNN網絡深度影響的經典基準。
    • 特征表達能力強,預訓練權重可遷移到其他視覺任務(如目標檢測、圖像分割)中進行遷移學習。
  • 缺點

    • 參數總量較大(約1.38億參數),計算復雜度高,訓練需要大量顯存和時間。
    • 全連接層占參數比例高,對輸入圖像尺寸敏感(需固定為224×224)。
  • 應用場景

    • 圖像分類(如ImageNet)、目標檢測(如Faster R-CNN中作為特征提取骨干網絡)、圖像特征提取等。

變種與后續發展

VGG系列還包括VGG11、VGG13、VGG19等變種,主要區別在于卷積層的數量(如VGG19有19個權重層)。盡管VGG模型在現代任務中逐漸被更高效的網絡(如ResNet、EfficientNet)取代,但其設計思想(如小卷積核堆疊、層次化特征提取)對后續CNN發展具有深遠影響。

2. 使用vgg16模型

import torchvision
from torch import nnvgg16 = torchvision.models.vgg16(pretrained=False)
vgg_true = torchvision.models.vgg16(pretrained=True) # 預訓練,保留參數print(vgg_true)

在這里插入圖片描述
可以看到vgg網絡模型有1000個特征輸出
我們可以通過一下方法對網絡模型的結構進行修改,讓網絡模型有10個特征輸出

import torchvision
from torch import nnvgg16_false = torchvision.models.vgg16(pretrained=False)
vgg16_true = torchvision.models.vgg16(pretrained=True) # 預訓練,保留參數# print(vgg_true)
train_data = torchvision.datasets.CIFAR10("./das",train=True, transform=torchvision.transforms.ToTensor(),download=True)vgg16_true.classifier.add_module('add_linear', nn.Linear(1000,10)) # 添加一層
print(vgg16_true)

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/907122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/907122.shtml
英文地址,請注明出處:http://en.pswp.cn/news/907122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle 正則表達式匹配(Oracle 11g)

1、連續2詞漢字重復或3詞漢字重復(不會忽略符號) ([^ \u4e00-\u9fa5\S]{2,3})\1 例如:阿富、 SELECT REGEXP_replace(阿富、阿富、 阿富汗、 , ([^ \u4e00-\u9fa5\S]{2,3})\1, 重復) FROM dual結果: 2、連續2詞漢字重復或3詞…

對話魔數智擎CEO柴磊:昇騰AI賦能,大小模型融合開啟金融風控新范式

導讀:#昇騰逐夢人# AI已經成為金融機構核心競爭力的關鍵要素。專注AI金融賽道的魔數智擎,通過大小模型融合,讓AI成為銀行的“金融風控專家”。 作者 | 小葳 圖片來源 | 攝圖 在AI涌向產業的時代賽跑中,開發者是絕對的主角。 昇騰…

IDEA使用Git進行commit提交到本地git空間后撤回到commit版本之前

一、前言 Git作為最流行和最全面的版本控制工具,非常好用,但是操作也會比SVN復雜一些。畢竟有得有失嘛,所以我選擇Git,最近在工作中,一不小心吧一些無關緊要的文件commit了。還好在Push之前看到,不過就算P…

GitHub 趨勢日報 (2025年05月26日)

本日報由 TrendForge 系統生成 https://trendforge.devlive.org/ 🌐 本日報中的項目描述已自動翻譯為中文 📈 今日整體趨勢 Top 10 排名項目名稱項目描述今日獲星總星數語言1Fosowl/agenticSeek完全本地的馬努斯AI。沒有API,沒有200美元的每…

Matlab實現LSTM-SVM時間序列預測,作者:機器學習之心

Matlab實現LSTM-SVM時間序列預測,作者:機器學習之心 目錄 Matlab實現LSTM-SVM時間序列預測,作者:機器學習之心效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 該代碼實現了一個結合LSTM和SVM的混合模型,用于時間…

深入解析Spring Boot與Redis集成:高效緩存與性能優化實踐

深入解析Spring Boot與Redis集成:高效緩存與性能優化實踐 引言 在現代Web應用開發中,緩存技術是提升系統性能的重要手段之一。Redis作為一款高性能的內存數據庫,廣泛應用于緩存、消息隊列等場景。本文將深入探討如何在Spring Boot項目中集成…

Jmeter一些元件使用的詳細記錄

1、csv數據文件處理 文件放在bin目錄下,屬于相對路徑讀取文件,如果使用絕對路徑則需要改為l添加盤符的路徑,如:D:/apach/jmeter/bin 說明: 當選擇False時,如果請求的次數 大于 文件中的有效數據行數&…

使用 Cursor 從 0 到 1 開發一個全棧 chatbox 項目

大家好,我是 luckySnail,你肯定用過 AI 聊天工具。例如: Gemini,ChatGPT,claude AI 等產品,我們通過它們的 web 網站或者手機應用提出問題,得到答案。在之前如果你想要構建一個這樣的 AI 聊天應…

嵌入式學習的第二十六天-系統編程-文件IO+目錄

一、文件IO相關函數 1.read/write cp #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #include <stdio.h> #include<unistd.h> #include<string.h>int main(int argc, char **argv) {if(argc<3){fprintf(stderr, …

SCADA|KingSCADA信創4.0-Win10安裝過程

哈嘍,你好啊,我是雷工! 現如今很多地方開始要求信創版, 最近就遇到一個現場要求用信創。 首先找官方要了最新的信創版安裝包。 由于有之前安裝組態王授權驅動裝藍屏的經歷,此次特意問了下該標識win10的軟件是否可以在win11系統上安裝。 技術反饋win11專業版上可以安裝…

AI時代新詞-人工智能倫理審查(AI Ethics Review)

一、什么是人工智能倫理審查&#xff08;AI Ethics Review&#xff09;&#xff1f; 人工智能倫理審查&#xff08;AI Ethics Review&#xff09;是指在人工智能&#xff08;AI&#xff09;系統的開發、部署和使用過程中&#xff0c;對其可能涉及的倫理、法律和社會問題進行系…

GitLab 從 17.10 到 18.0.1 的升級指南

本文分享從 GitLab 中文本 17.10.0 升級到 18.0.1 的完整過程。 升級前提 查看當前安裝實例的版本。有多種方式可以查看&#xff1a; 方式一&#xff1a; /help頁面 可以直接在 /help頁面查看當前實例的版本。以極狐GitLab SaaS 為例&#xff0c;在瀏覽器中輸入 https://ji…

python:基礎爬蟲、搭建簡易網站

一、基礎爬蟲代碼&#xff1a; # 導包 import requests # 從指定網址爬取數據 response requests.get("http://192.168.34.57:8080") print(response) # 獲取數據 print(response.text)二、使用FastAPI快速搭建網站&#xff1a; # TODO FastAPI 是一個現代化、快速…

從0開始學習R語言--Day10--時間序列分析數據

在數據分析中&#xff0c;我們經常會看到帶有時間屬性的數據&#xff0c;比如股價波動&#xff0c;各種商品銷售數據&#xff0c;網站的網絡用戶活躍度等。一般來說&#xff0c;根據需求我們會分為兩種&#xff0c;分析歷史數據的特點和預測未來時間段的數據。 移動平均 移動平…

倚光科技在二元衍射面加工技術上的革新:引領光學元件制造新方向?

倚光科技二元衍射面加工技術&#xff08;呈現出細膩的光碟反射紋路&#xff09; 在光學元件制造領域&#xff0c;二元衍射面的加工技術一直是行業發展的關鍵驅動力之一。其精準的光相位調制能力&#xff0c;在諸多前沿光學應用中扮演著不可或缺的角色。然而&#xff0c;長期以來…

【redis原理篇】底層數據結構

SDS Redis是基于C語言實現的&#xff0c;但是Redis中大量使用的字符串并沒有直接使用C語言字符串。 一、SDS 的設計動機 傳統 C 字符串以 \0 結尾&#xff0c;存在以下問題&#xff1a; 性能瓶頸&#xff1a;獲取長度需遍歷字符數組&#xff0c;時間復雜度 O(n)。緩沖區溢出…

尚硅谷redis7 20-redis10大類型之zset

zset是redis中的有序集合【sorted set】 zset就是在set基礎上&#xff0c;每個val值前加一個score分數值。 之前set是k1 v1 v2 v3現在zset是k1 score1 v1 score2 v2 向有序集合中加入一個元素和該元素的分數 ZADD key score member [score member...] 添加元素 127. 0. 0. …

STM32 SPI通信(軟件)

一、SPI簡介 SPI&#xff08;Serial Peripheral Interface&#xff09;是由Motorola公司開發的一種通用數據總線四根通信線&#xff1a;SCK&#xff08;Serial Clock&#xff09;、MOSI&#xff08;Master Output Slave Input&#xff09;、MISO&#xff08;Master Input Slav…

Kotlin Native與C/C++高效互操作:技術原理與性能優化指南

一、互操作基礎與性能瓶頸分析 1.1 Kotlin Native調用原理 Kotlin Native通過LLVM編譯器生成機器碼,與C/C++的互操作基于以下核心機制: CInterop工具:解析C頭文件生成Kotlin/Native綁定(.klib),自動生成類型映射和包裝函數雙向調用約定: Kotlin調用C:直接通過生成的綁…

云原生安全 SaaS :從基礎到實踐

&#x1f525;「炎碼工坊」技術彈藥已裝填&#xff01; 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 1. 基礎概念 什么是 SaaS&#xff1f; SaaS&#xff08;Software as a Service&#xff0c;軟件即服務&#xff09;是一種基于云計算的軟件交付模式。用…