VGG簡單學習

VGG簡單學習

簡單介紹

? 在AlexNet網絡的基礎上,為了設計深層神經網絡,牛津大學設計了VGG網絡,采用塊的設計理念,將AlexNet中多個重復的卷積層和池化層組成一個塊

?論文中,使用3x3卷積核,padding=1的卷積層 和帶有2x2的匯聚窗口,步幅為2 的最大匯聚層

在這里插入圖片描述

  • VGG使用可重復使用的卷積塊來構建深度卷積神經網絡
  • 不同的卷積塊個數和超參數可以得到不同復雜度的變種

模型搭建與訓練

?VGG神經網絡連接幾個VGG塊由超參數變量conv_arch定義,該變量指定列每一個VGG塊中卷積層的個數和輸出通道數目,全連接模塊和AlexNet中的相同。

  • 定義單個VGG塊 Num_convs定義了層的數量 使用循環進行添加 一個卷積層 之后添加一個激活函數
import torch 
from torch import nn
from d2l import torch as d2l
# 參數分別對應:卷積層數量  輸入通道數量 輸出通道數量
def vgg_block(num_convs,in_channels,out_channels):layers = []for _ in range(num_convs):# 添加一個卷積層layers.append(nn.Conv2d(in_channels=in_channels,out_channels=out_channels,kernel_size=3,padding=1))# 添加激活函數layers.append(nn.ReLU())# 因為添加多個卷積層 上一層的輸出通道 對應下一層的數通道in_channels = out_channels# 添加一個最大池化層layers.append(nn.MaxPool2d(kernel_size=2,stride=2))return nn.Sequential(*layers)

?原本的VGG網絡由五個卷積塊,其中前兩個快有一個卷積層,后面三個快包含兩個卷積層,第一個模塊有64個輸出通道,每一個后續模塊將輸出通道數量翻倍,直到該數字達到512,由于該網絡使用八個卷積層和三個全連接層,該網絡是用來八個卷積層和三個全連接層,因此稱之為VGG-11

conv_arch = ((1,64),(1,128),(2,256),(2,512),(2,512))
  • 定義vgg網絡
def vgg(conv_arch):conv_blks = []in_channels = 1  # 初始化輸入通道數 在一個卷積層添加之后 需要更新輸入通道數# 卷積層部分for(num_convs,out_channels) in conv_arch:# 遍歷元組# 初始化VGG 塊  然后添加進去conv_blks.append(vgg_block(num_convs=num_convs,in_channels=in_channels,out_channels=out_channels))# 更新輸入通道數in_channels = out_channels# 全連接層  經過一系列卷積層之后 需要將4D向量 轉換為2D向量return nn.Sequential(*conv_blks,nn.Flatten(),# 全練級曾部分nn.Linear(out_channels * 7 * 7,4096),nn.ReLU(),nn.Dropout(0.5),nn.Linear(4096,4096),nn.ReLU(),nn.Dropout(0.5),nn.Linear(4096,10))
  • 初始化 打印結構
net = vgg(conv_arch=conv_arch)X = torch.randn(size=(1,1,224,224))for blk in net:X = blk(X)print(blk.__class__.__name__,'output shape:\t',X.shape)

Sequential output shape:	 torch.Size([1, 64, 112, 112])
Sequential output shape:	 torch.Size([1, 128, 56, 56])
Sequential output shape:	 torch.Size([1, 256, 28, 28])
Sequential output shape:	 torch.Size([1, 512, 14, 14])
Sequential output shape:	 torch.Size([1, 512, 7, 7])
Flatten output shape:	 torch.Size([1, 25088])
Linear output shape:	 torch.Size([1, 4096])
ReLU output shape:	 torch.Size([1, 4096])
Dropout output shape:	 torch.Size([1, 4096])
Linear output shape:	 torch.Size([1, 4096])
ReLU output shape:	 torch.Size([1, 4096])
Dropout output shape:	 torch.Size([1, 4096])
Linear output shape:	 torch.Size([1, 10])
  • 訓練網絡
lr, num_epochs, batch_size = 0.05, 10, 128
train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size, resize=224)
d2l.train_ch6(net, train_iter, test_iter, num_epochs, lr, d2l.try_gpu())

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

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

相關文章

1046:判斷一個數能否同時被3和5整除

【題目描述】 判斷一個數n 能否同時被3和5整除&#xff0c;如果能同時被3和5整除輸出YES&#xff0c;否則輸出NO。 【輸入】 輸入一行&#xff0c;包含一個整數n。&#xff08; -1,000,000 < n < 1,000,000&#xff09; 【輸出】 輸出一行&#xff0c;如果能同時被3…

WebMagic - 創意前端項目集合(點擊鏈接可在電腦上查看效果)

WebMagic - 創意前端項目集合 歡迎來到 WebMagic 倉庫&#xff01;這里匯集了一系列令人驚嘆的前端項目&#xff0c;涵蓋了HTML5、CSS3和JS等多項技術。無論你是前端開發者、設計師&#xff0c;還是對創意互動內容感興趣的人&#xff0c;這個倉庫都將為你帶來無盡的驚喜。 每…

Java Vue 前后端 關于時間格式數據的處理方法

前端使用 elment-ui 組件 el-date-picker 其中組件需要格式化時間&#xff0c;增加屬性 value-format"yyyy-MM-dd" 后端 Java 接收參數類型 后端Dto 使用Date接收&#xff0c;并添加JsonFormat注解 JsonFormat(pattern"yyyy-MM-dd") private Date testTi…

Python比較兩個Cookie之間的差異

python如何比較兩個cookie字符串之間的差異 pip安裝&#xff1a; pip install datedays 代碼&#xff1a; cookie1 JSESSIONID123456789; key1jiuliang; key22023; key31538; cookie2 JSESSIONID123456789; key1jiuliang; key40818; print(datedays.cookie_difference(…

LangChain手記 Chains

整理并翻譯自DeepLearning.AILangChain的官方課程&#xff1a;Chains&#xff08;源代碼可見&#xff09; Chains 直譯鏈&#xff0c;表達的意思更像是對話鏈&#xff0c;對話鏈的背后是思維鏈 LLM Chain&#xff08;LLM鏈&#xff09; 首先介紹了一個最簡單的例子&#xff0c…

代碼審計-java項目-組件漏洞審計

代碼審計必備知識點&#xff1a; 1、代碼審計開始前準備&#xff1a; 環境搭建使用&#xff0c;工具插件安裝使用&#xff0c;掌握各種漏洞原理及利用,代碼開發類知識點。 2、代碼審計前信息收集&#xff1a; 審計目標的程序名&#xff0c;版本&#xff0c;當前環境(系統,中間件…

圖數據庫_Neo4j和SpringBoot整合使用_實戰創建明星關系圖譜---Neo4j圖數據庫工作筆記0010

然后我們再來看一下這個明星關系圖譜 可以看到這里 這個是原來的startRelation 我們可以寫CQL去查詢對應的關系 可以看到,首先查詢出來以后,然后就可以去創建 我們可以把寫的創建明星關系的CQL,拿到 springboot中去執行 可以看到,這里我們先寫一個StarRelationRepository,然…

Java二分法查找

二分法&#xff1a;首先需要一個由小到大排序好的數組&#xff0c;先找到其中間值&#xff0c;然后進行比較如果比較中間值大的話則向前找。如果比要找的小&#xff0c;則向后找。 代碼實現&#xff1a; //定義查詢方法 public static int searchTarget(int[] nums, int targ…

wireshark界面內容含義

網絡分析工具——WireShark的使用&#xff08;超詳細&#xff09;_世間繁華夢一出的博客-CSDN博客 wireshark抓包數據&#xff1a;理解與分析_wireshark里面length_ 佚名的博客-CSDN博客

【圖書推薦 | 測試】—《測試設計思想》

前言 隨著科技的不斷發展&#xff0c;互聯網的不斷進步&#xff0c;日益出現了一種趨勢&#xff1a;測試設計將成為一種跨領域的綜合性工作&#xff0c;測試者將成為一種跨領域的通用型人才。由此清華大學出版社推出了一本名為《測試設計思想》的書籍&#xff0c;由知名專家周…

PHP-FPM進程排查

1、查看php-fpm的進程個數 ps -ef |grep "php-fpm"|grep "pool"|wc -l2、查看每個php-fpm占用的內存大小 ps -ylC php-fpm --sort:rss3.查看PHP-FPM在你的機器上的平均內存占用 ps --no-headers -o "rss,cmd" -C php-fpm | awk { sum$1 } END…

防止 JavaScript 中的正則表達式回溯

防止 JavaScript 中的正則表達式回溯 正則表達式是用于在軟件應用程序中操作和驗證文本的強大工具。然而&#xff0c;某些正則表達式模式可能容易受到回溯的影響&#xff0c;這可能會導致超線性運行時&#xff0c;并可能導致DoS攻擊。在本文中&#xff0c;我們將探討什么是回溯…

ios swift5 collectionView 瀑布流(兩列)

文章目錄 1.瀑布流1.1 demo地址1.2 記得把部署的最低版本由8改成11,13甚至更高。不然編譯會報錯 2.動態計算圖片和文字的高度 1.瀑布流 1.1 demo地址 CollectionViewWaterfallLayout - github 1.2 記得把部署的最低版本由8改成11,13甚至更高。不然編譯會報錯 2.動態計算圖片和…

產業園區數字孿生3d可視化全景展示方案

隨著數字經濟的發展&#xff0c;數字技術給企業發展帶來了機遇的同時&#xff0c;也為企業管理帶來挑戰。比如園區運維&#xff0c;不僅體量大&#xff0c;復雜的運維管理系統&#xff0c;落地難度也較高。那么如何通過數字化手段重塑園區運營&#xff0c;打通園區各業務數據孤…

SQLyog中導入CSV文件入庫到MySQL中

1.在數據庫中新建一個表&#xff0c;設置列名&#xff08;與待導入文件一致&#xff09;&#xff0c;字段可以多出幾個都可以 2.右鍵表名&#xff0c;導入- - >導入使用本地加載的CSV數據 選擇使用加載本地CVS數據 3.指定好轉義字符&#xff0c;將終止設置為,號(英文狀態下…

idea常見錯誤大全之:解決全局搜索失效+搜索條件失效(條件為空)+F8失靈

問題一&#xff1a;全局搜索快捷鍵ctrlshiftf 突然失靈了&#xff0c;鍵盤敲爛了 都沒反應&#xff0c;這是為什么呢&#xff1f; 肯定不是idea本身的原因&#xff0c;那么就是其它外在因素影響到了idea的快捷鍵&#xff0c;那么其它的快捷鍵為什么沒失效呢&#xff0c;原因只有…

服務器擴展未生效

服務器擴容未生效 在阿里云付費擴容后&#xff0c;在服務器里面看未生效。 阿里云->實例與鏡像->實例->選擇實例->云盤->擴容進入linux服務器查看&#xff1a; df -h vda1擴容未生效。原40g->擴容后100g 解決方法&#xff1a; 1、安裝growpart yum inst…

Win11環境下 Unity個人版無法激活

網上教程大多都是在win10環境下運行&#xff0c;win11環境下遇到很多沒有碰到的問題&#xff0c;故簡單做個記錄&#xff0c;也方便同樣使用win11的朋友解決問題。 Unity2021無法打開 問題描述&#xff1a;下載Unity2021.3.4f1c1版本&#xff08;LTS&#xff09;后&#xff0…

廣州華銳互動:奶牛難產原因及救治VR仿真實訓系統

奶牛難產是一種常見的疾病&#xff0c;對奶牛的健康和生產造成很大的影響。為了解決這一問題&#xff0c;許多奶牛養殖場開始采用VR仿真技術來培訓奶牛獸醫&#xff0c;幫助學生更好地理解奶牛養殖的實際過程&#xff0c;提高他們的實踐能力的教學方式。 VR技術開發公司廣州華銳…

【算法】雙指針劃分思想妙解移動零

Problem: 283. 移動零 文章目錄 思路算法圖解分析復雜度Code 思路 首先我們來講一下本題的思路 本題主要可以歸到【數組劃分/數組分塊】這一類的題型。我們將一個數組中的所有元素劃分為兩段區間&#xff0c;左側是非零元素&#xff0c;右側是零元素 那解決這一類的題我們首先想…