在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>PyTorch教程8.2之使用塊的網絡(VGG)

PyTorch教程8.2之使用塊的網絡(VGG)

2023-06-05 | pdf | 0.33 MB | 次下載 | 免費

資料介紹

雖然 AlexNet 提供了深度 CNN 可以取得良好結果的經驗證據,但它沒有提供通用模板來指導后續研究人員設計新網絡在接下來的部分中,我們將介紹幾個常用于設計深度網絡的啟發式概念。

該領域的進展反映了芯片設計中 VLSI(超大規模集成)的進展,工程師從將晶體管放置到邏輯元件再到邏輯塊Mead,1980 年同樣,神經網絡架構的設計也變得越來越抽象,研究人員從單個神經元的角度思考到整個層,現在轉向塊,重復層的模式。十年后,這已經發展到研究人員使用整個訓練模型將它們重新用于不同但相關的任務。此類大型預訓練模型通常稱為 基礎模型 Bommasani等人,2021 年

回到網絡設計。使用塊的想法首先出現于牛津大學的視覺幾何組 (VGG),在他們同名的VGG網絡中Simonyan 和 Zisserman,2014 年通過使用循環和子例程,可以使用任何現代深度學習框架輕松地在代碼中實現這些重復結構。

import torch
from torch import nn
from d2l import torch as d2l
from mxnet import init, np, npx
from mxnet.gluon import nn
from d2l import mxnet as d2l

npx.set_np()
import jax
from flax import linen as nn
from d2l import jax as d2l
import tensorflow as tf
from d2l import tensorflow as d2l

8.2.1. VGG 塊

CNN 的基本構建塊是以下序列:(i) 帶有填充的卷積層以保持分辨率,(ii) 非線性,例如 ReLU,(iii) 池化層,例如最大池化以減少解決。這種方法的問題之一是空間分辨率下降得非常快。特別是,這強加了一個硬限制log2?d網絡上所有維度之前的卷積層(d) 用完了。例如,在 ImageNet 的情況下,以這種方式不可能有超過 8 個卷積層。

Simonyan 和 Zisserman ( 2014 )的關鍵思想是以 塊的形式通過最大池化在下采樣之間使用多個卷積。他們主要感興趣的是深度網絡還是寬網??絡表現更好。例如,連續應用兩個 3×3卷積接觸與單個相同的像素 5×5卷積確實如此。同時,后者使用了大約同樣多的參數25?c2) 三個 3×3卷積做(3?9?c2). 在相當詳細的分析中,他們表明深度和狹窄的網絡明顯優于淺層網絡。這將深度學習置于對具有超過 100 層的典型應用的更深網絡的追求上。堆疊3×3卷積已成為后來的深度網絡的黃金標準(最近Liu等人( 2022 )才重新考慮的設計決策)。因此,小卷積的快速實現已成為 GPU 的主要內容 Lavin 和 Gray,2016 年

回到 VGG:一個 VGG 塊由一系列卷積組成 3×3填充為 1 的內核(保持高度和寬度)后跟一??個2×2步長為 2 的最大池化層(每個塊后將高度和寬度減半)。在下面的代碼中,我們定義了一個函數vgg_block來實現一個 VGG 塊。

下面的函數有兩個參數,對應于卷積層數num_convs和輸出通道數 num_channels

def vgg_block(num_convs, out_channels):
  layers = []
  for _ in range(num_convs):
    layers.append(nn.LazyConv2d(out_channels, kernel_size=3, padding=1))
    layers.append(nn.ReLU())
  layers.append(nn.MaxPool2d(kernel_size=2,stride=2))
  return nn.Sequential(*layers)
def vgg_block(num_convs, num_channels):
  blk = nn.Sequential()
  for _ in range(num_convs):
    blk.add(nn.Conv2D(num_channels, kernel_size=3,
             padding=1, activation='relu'))
  blk.add(nn.MaxPool2D(pool_size=2, strides=2))
  return blk
def vgg_block(num_convs, out_channels):
  layers = []
  for _ in range(num_convs):
    layers.append(nn.Conv(out_channels, kernel_size=(3, 3), padding=(1, 1)))
    layers.append(nn.relu)
  layers.append(lambda x: nn.max_pool(x, window_shape=(2, 2), strides=(2, 2)))
  return nn.Sequential(layers)
def vgg_block(num_convs, num_channels):
  blk = tf.keras.models.Sequential()
  for _ in range(num_convs):
    blk.add(
      tf.keras.layers.Conv2D(num_channels, kernel_size=3,
                  padding='same', activation='relu'))
  blk.add(tf.keras.layers.MaxPool2D(pool_size=2, strides=2))
  return blk

8.2.2. VGG網絡

與 AlexNet 和 LeNet 一樣,VGG 網絡可以分為兩部分:第一部分主要由卷積層和池化層組成,第二部分由與 AlexNet 相同的全連接層組成。關鍵區別在于卷積層在保持維數不變的非線性變換中分組,然后是分辨率降低步驟,如圖 8.2.1所示。

https://file.elecfans.com/web2/M00/A9/C7/poYBAGR9NYmAAu3EAATuF75_NS8172.svg

圖 8.2.1從 AlexNet 到 VGG。關鍵區別在于 VGG 由層塊組成,而 AlexNet 的層都是單獨設計的。

網絡的卷積部分連續連接 圖 8.2.1中的幾個 VGG 塊(也在vgg_block函數中定義)。這種卷積分組是一種在過去十年中幾乎保持不變的模式,盡管操作的具體選擇已經發生了相當大的修改。該變量 conv_arch由一個元組列表(每個塊一個)組成,其中每個元組包含兩個值:卷積層數和輸出通道數,它們正是調用函數所需的參數vgg_block因此,VGG 定義了一個網絡家族,而不僅僅是一個特定的表現形式。要構建一個特定的網絡,我們只需迭代arch以組成塊。

class VGG(d2l.Classifier):
  def __init__(self, arch, lr=0.1, num_classes=10):
    super().__init__()
    self.save_hyperparameters()
    conv_blks = []
    for (num_convs, out_channels) in arch:
      conv_blks.append(vgg_block(num_convs, out_channels))
    self.net = nn.Sequential(
      *conv_blks, nn.Flatten(),
      nn.LazyLinear(4096), nn.ReLU(), nn.Dropout(0.5),
      nn.LazyLinear(4096), nn.ReLU(), nn.Dropout(0.5),
      nn.LazyLinear(num_classes))
    self.net.apply(d2l.init_cnn)
class VGG(d2l.Classifier):
  def __init__(self, arch, lr=0.1, num_classes=10):
    super().__init__()
    self.save_hyperparameters()
    self.net = nn.Sequential()
    for (num_convs, num_channels) in arch:
      self.net.add(vgg_block(num_convs, num_channels))
    self.net.add(nn.Dense(4096, activation=
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1一款入耳式耳機的仿真與分析
  2. 0.44 MB   |  2次下載  |  免費
  3. 2Eurotherm TKS Temperature 用戶手冊
  4. 1.46 MB  |  2次下載  |  免費
  5. 3無線系統中天線和RF元件電磁建模
  6. 7.48 MB   |  1次下載  |  4 積分
  7. 4納祥科技NX6806中文規格書,8位AD和DA單片機拓展,國產替代PCF8591
  8. 3.04 MB  |  1次下載  |  免費
  9. 5藍牙無線遙控小車
  10. 10.49 MB   |  1次下載  |  2 積分
  11. 6Multisim模擬電路仿真教程
  12. 1.93 MB   |  1次下載  |  3 積分
  13. 7MOSFET講解-10(可下載)
  14. 524.12 KB  |  次下載  |  免費
  15. 8DMP300C1型微機變壓器保護測控裝置技術說明書
  16. 4.11 MB   |  次下載  |  10 積分

本月

  1. 1晶體三極管的電流放大作用詳細說明
  2. 0.77 MB   |  32次下載  |  2 積分
  3. 2Python從入門到精通背記手冊
  4. 18.77 MB   |  25次下載  |  1 積分
  5. 3雙極型三極管放大電路的三種基本組態的學習課件免費下載
  6. 4.03 MB   |  23次下載  |  1 積分
  7. 4多級放大電路的學習課件免費下載
  8. 1.81 MB   |  21次下載  |  2 積分
  9. 5九陽豆漿機高清原理圖
  10. 2.47 MB   |  16次下載  |  1 積分
  11. 6AIWA HS-J202/HS-J202M/HS-J800維修手冊
  12. 13.60 MB   |  15次下載  |  10 積分
  13. 71875功放原理圖
  14. 0.04 MB   |  11次下載  |  免費
  15. 8東芝彩色電視機29SF6C維修說明書
  16. 4.86 MB   |  9次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935127次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420063次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233089次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191382次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183337次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81585次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73814次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分
主站蜘蛛池模板: 午夜 dy888理论久久 | 精品福利在线视频 | 色视频2 | 亚洲成人精品在线 | 亚洲综合色丁香婷婷六月图片 | 亚洲第二页 | 色天使在线观看 | 天天夜夜骑 | 天天夜约 | 加勒比精品久久一区二区三区 | 久久国产美女免费观看精品 | 美女扒开尿口给男人捅 | 美女视频一区二区 | 五月天婷婷精品视频 | 日日添天天做天天爱 | 32pao强力打造免费高速高清 | 国产看午夜精品理论片 | 欧美特黄一区二区三区 | 俺也来俺也去俺也射 | 大量真实偷拍情侣视频野战 | 狠狠插狠狠操 | www.色噜噜| 中文字幕一区2区 | 午夜黄色影院 | 三级网站在线免费观看 | 亚洲色图激情 | 国产黄色高清视频 | 日韩一区二区视频 | 日产精品卡二卡三卡四卡乱码视频 | 国产精品美女久久久久网 | avbobo在线观看 | 欧美综合一区二区三区 | 国产欧美亚洲精品第二区首页 | 手机在线完整视频免费观看 | 四虎在线最新永久免费播放 | 在线久综合色手机在线播放 | 台湾一级毛片永久免费 | 狠狠操天天干 | 九色亚洲| 香港三澳门三日本三级 | 成年人黄色大片大全 |