含并行連結的網絡

一、Inception塊

1、白色部分通過降低通道數來控制模型復雜度,藍色做特征提取工作,每條路上的通道數可能不同,大概我們會把更重要的那部分特征分配更多的通道數

2、Inception只改變高寬,不改變通道數

3、在不同的情況下需要選擇不同的模型,而Inception全都要了,很神奇的思想

4、模型復雜度可以看作是可以學習的參數個數,inception它大大降低了參數個數,從而降低了計算復雜度,而且它可以在運算的時候加入不同的卷積層

二、GoogLeNet

1、Stage是一個高寬減半

2、并不強求最后的stage得出來的個數等于類別數,可以通過全局avegpool得到的結果拉成通道數的向量,在使用全連接層將其映射到相應的標號上

三、Inception后續變種

變種的1×7、7×1(3同理)卷積層是一個先看行的信息,另外一個在看列的信息

四、總結

1、Inception塊相當于一個有4條路徑的子網絡。它通過不同窗口形狀的卷積層和最大匯聚層來并行抽取信息,并使用1×1卷積層減少每像素級別上的通道維數從而降低模型復雜度,主要優點是模型參數小,計算復雜度低。

2、GoogLeNet將9個設計精細的Inception塊與其他層(卷積層、全連接層)串聯起來,是第一個達到有上百層的網絡。其中Inception塊的通道數分配之比是在ImageNet數據集上通過大量的實驗得來的,后續有大量變種。

3、GoogLeNet和它的后繼者們一度是ImageNet上最有效的模型之一:它以較低的計算復雜度提供了類似的測試精度。

五、代碼

1、Inception塊

import torch
from torch import nn
from torch.nn import functional as F
from d2l import torch as d2lclass Inception(nn.Module):# c1--c4是每條路徑的輸出通道數def __init__(self, in_channels, c1, c2, c3, c4, **kwargs):super(Inception, self).__init__(**kwargs)# 線路1,單1x1卷積層self.p1_1 = nn.Conv2d(in_channels, c1, kernel_size=1)# 線路2,1x1卷積層后接3x3卷積層self.p2_1 = nn.Conv2d(in_channels, c2[0], kernel_size=1)self.p2_2 = nn.Conv2d(c2[0], c2[1], kernel_size=3, padding=1)# 線路3,1x1卷積層后接5x5卷積層self.p3_1 = nn.Conv2d(in_channels, c3[0], kernel_size=1)self.p3_2 = nn.Conv2d(c3[0], c3[1], kernel_size=5, padding=2)# 線路4,3x3最大匯聚層后接1x1卷積層self.p4_1 = nn.MaxPool2d(kernel_size=3, stride=1, padding=1)self.p4_2 = nn.Conv2d(in_channels, c4, kernel_size=1)def forward(self, x):p1 = F.relu(self.p1_1(x))p2 = F.relu(self.p2_2(F.relu(self.p2_1(x))))p3 = F.relu(self.p3_2(F.relu(self.p3_1(x))))p4 = F.relu(self.p4_2(self.p4_1(x)))# 在通道維度上連結輸出return torch.cat((p1, p2, p3, p4), dim=1)

2、GoogLeNet模型

#第一個模塊使用64個通道、7×7卷積層
b1 = nn.Sequential(nn.Conv2d(1, 64, kernel_size=7, stride=2, padding=3),nn.ReLU(),nn.MaxPool2d(kernel_size=3, stride=2, padding=1))#第二個模塊使用兩個卷積層:第一個卷積層是64個通道、1×1卷積層;第二個卷積層使用將通道數量增加三倍的3×3卷積層。 這對應于Inception塊中的第二條路徑。
b2 = nn.Sequential(nn.Conv2d(64, 64, kernel_size=1),nn.ReLU(),nn.Conv2d(64, 192, kernel_size=3, padding=1),nn.ReLU(),nn.MaxPool2d(kernel_size=3, stride=2, padding=1))#第三個模塊串聯兩個完整的Inception塊。
b3 = nn.Sequential(Inception(192, 64, (96, 128), (16, 32), 32),Inception(256, 128, (128, 192), (32, 96), 64),nn.MaxPool2d(kernel_size=3, stride=2, padding=1))#第四模塊串聯了5個Inception塊
b4 = nn.Sequential(Inception(480, 192, (96, 208), (16, 48), 64),Inception(512, 160, (112, 224), (24, 64), 64),Inception(512, 128, (128, 256), (24, 64), 64),Inception(512, 112, (144, 288), (32, 64), 64),Inception(528, 256, (160, 320), (32, 128), 128),nn.MaxPool2d(kernel_size=3, stride=2, padding=1))#第五模塊包含兩個Inception塊
b5 = nn.Sequential(Inception(832, 256, (160, 320), (32, 128), 128),Inception(832, 384, (192, 384), (48, 128), 128),nn.AdaptiveAvgPool2d((1,1)),nn.Flatten())net = nn.Sequential(b1, b2, b3, b4, b5, nn.Linear(1024, 10))

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

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

相關文章

pin是什么?管腳

1.平面分割 1)啟動Allegro PCB design ,打開.brd。深色部分屬于一個net,要做一下修改,將上面的pin包含進shape中,i進行a,b兩步操作,刪除以前存在的Anti Etch下的line,再將其進行補齊 使它保住上…

【幀中繼實驗-ensp】

實驗要求 在R1上開啟一個點對點子接口,用于連接 R1–R2,兩端IP地址為12.1.1.x 。開啟一個多點子接口 ,用于連接R1–R3,R4,兩段IP地址為134.1.1.x。 具體DLCI分配和映射關系如下: R1 102 R2 201—動態映射…

python獲取海康威視所有攝像頭的OSD通道名稱

讀取IP地址的txt文檔 根據IP地址獲取監控攝像頭的OSD通道名稱 # codingutf-8 import os import time import requests from requests.auth import HTTPBasicAuth, HTTPDigestAuth import xml.etree.ElementTree as ET #注意:和ip.txt放在一個文件夾,會生…

論文略讀:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?

202406 arxiv 1 intro 傳統上,復雜的AI任務需要多個專門系統協作完成。 這類系統通常需要獨立的模塊來進行信息檢索、問答和數據庫查詢等任務大模型時代,尤其是上下文語言模型(LCLM)時代,上述問題可以“一體化”完成…

【程序大俠傳】大表分庫分表切換數據庫類型導致pagehelper生成sql語法報錯

前序 代碼劍宗等級分明,其門下弟子等級劃分如下: 入門弟子 剛剛拜入代碼劍宗,學習基礎編程語言和基本劍法(語法和基礎概念)。他們的代碼還顯得生澀,但已經開始展現出對優雅代碼的追求。 江湖小蝦 初步掌握…

《python程序語言設計》2018版第5章第53題利用turtle繪制sin和cos函數 sin藍色,cos紅色和52題類似

直接上題和代碼 5.53 (Turtle:繪制sin和cos函數)編寫程序繪制藍色的sin函數和紅色的cos函數。 代碼和結果 turtle.speed(10) turtle.penup() # sin 用藍色 turtle.color("blue") #這道題和上道題一樣,先把turtle放到起始…

架構面試-數據庫優化問題

文章目錄 如何定位慢查詢1. 開啟慢查詢日志MySQL示例:PostgreSQL示例: 2. 分析慢查詢日志MySQL:PostgreSQL: 3. 使用數據庫性能工具MySQL:PostgreSQL: 4. 優化慢查詢5. 監控與持續優化 sql語句執行的很慢&a…

從0到1制作單只鰲蝦運動軌跡追蹤軟件

前言 需要準備windows10操作系統,python3.11.9,cuDNN8.9.2.26,CUDA11.8,paddleDetection2.7 流程: 準備數據集-澳洲鰲蝦VOC數據集 基于RT-DETR目標檢測模型訓練導出onnx模型進行python部署平滑濾波處理視頻幀保留的…

簡介時間復雜度

好了,今天我們來了解一下,我們在做練習題中常出現的一個名詞。時間復雜度。我相信大家如果有在練習過題目的話。對這個名詞應該都不陌生吧。但是可能很少的去思考它是干什么的代表的什么意思。反正我以前練習的時候就是這樣。我只知道有這么一個名詞在題…

【全面講解下iPhone新機官網驗機流程】

🎥博主:程序員不想YY啊 💫CSDN優質創作者,CSDN實力新星,CSDN博客專家 🤗點贊🎈收藏?再看💫養成習慣 ?希望本文對您有所裨益,如有不足之處,歡迎在評論區提出…

MybatisPlus實現插入/修改數據自動設置時間

引言 插入數據時自動設置當前時間,更新數據時自動修改日期為修改時的日期。 使用MybatisPlus的擴展接口MetaObjectHandler 步驟 實現接口 實體類加注解 實現接口 package com.example.vueelementson.common;import com.baomidou.mybatisplus.core.handlers.M…

C++ 模版進階

目錄 前言 1. 非類型模版參數 1.1 概念與講解 1.2 array容器 2. 模版的特化 2.1 概念 2.2 函數模版特化 2.3 類模版特化 2.3.1 全特化 2.3.2 偏特化 3.模版的編譯分離 3.1 什么是分離編譯 3.2 模版的分離編譯 3.3 解決方法 4. 模版總結 總結 前言 本篇文章主要…

包/final/權限修飾符/代碼塊

包package 1、包的作用 包用來管理不同的類。 2、包名 包名要全部小寫,一般是域名反寫,如com.liu。在Java中,java解釋器會將package中的.解釋為目錄分隔符/,也就是說該文件的目錄結構為:...com/liu/... 3、全類名…

1.pwn的匯編基礎(提及第一個溢出:整數溢出)

匯編掌握程度 能看懂就行,絕大多數情況不需要真正的編程(shellcode題除外) 其實有時候也不需要讀匯編,ida F5 通常都是分析gadget,知道怎么用, 調試程序也不需要分析每一條匯編指令,單步執行然后查看寄存器狀態即可 但…

Text2SQL提問中包括時間的實戰方案

大家好,我是herosunly。985院校碩士畢業,現擔任算法研究員一職,熱衷于機器學習算法研究與應用。曾獲得阿里云天池比賽第一名,CCF比賽第二名,科大訊飛比賽第三名。擁有多項發明專利。對機器學習和深度學習擁有自己獨到的見解。曾經輔導過若干個非計算機專業的學生進入到算法…

實現多數相加,但是傳的參不固定

一、情景 一般實現的加法和減法等簡單的相加減函數的話。一般都是寫好固定傳的參數。比如: function add(a,b) {return a b;} 這是固定的傳入倆個,如果是三個呢,有人說當然好辦! 這樣寫不就行了! function add(a…

vue中自定義設置多語言(包括使用vue-i18n),并且運行js腳本自動生成多語言文件

在項目中需要進行多個國家語言的切換時,可以用到下面方法其中一個 一、自定義設置多語言 方法一: 可以自己編寫一個設置多語言文件 在項目新建js文件,命名為:language.js,代碼如下 // language.js 文檔 let languagePage {CN…

聊一下Maven打包的問題(jar要發布)

文章目錄 一、問題和現象二、解決方法(1)方法一、maven-jar-pluginmaven-dependency-plugin(2)方法二、maven-assembly-plugin 一、問題和現象 現在的開發一直都是用spring boot,突然有一天,要自己開發一個…

Django之項目開發(二)

目錄 一、安裝和使用uWSGI 1.1、安裝 1.2、配置文件 1.3、啟動與停止uwsgi 二、安裝nginx 三、Nginx 配置uWSGI 四、Nginx配置靜態文件 五、Nginx配置負載均衡 一、安裝和使用uWSGI uWSGI 是一個 Web 服務器,可以用來部署 Python Web 應用。它是一個高性能的通用的 We…

味蕾與理解:應對自閉癥兒童挑食的策略與理解

在星貝育園自閉癥康復學校,我們深知飲食習慣對孩子們的成長至關重要,而自閉癥兒童的挑食問題往往比同齡兒童更為突出,給家長和照顧者帶來了額外的挑戰。今天,作為這里的老師,我想與大家分享一些應對自閉癥兒童挑食的策…