用matlab探索卷積神經網絡(Convolutional Neural Networks)-3

5.GoogLeNet中的Filters

這里我們探索GoogLeNet中的Filters,首先你需要安裝GoogLeNet.在Matlab的APPS里找到Deep Network Designer,然后找到GoogLeNet,安裝后的網絡是沒有右下角的黃色感嘆號的,沒有安裝的神經網絡都有黃色感嘆號。

在這里插入圖片描述

一個層(layer)的 Weights 屬性包含該層的權重。你可以使用點符號(dot notation)來訪問層的屬性:
layer.Prop。由于 GoogLeNet 是一個預訓練網絡,它已經學習到了可以提取有用特征的權重。這里,我們將GoogLeNet 的各層被保存在變量 ly 中。并將第二層的權重保存到一個名為 W 的變量中。

% 加載網絡
net = imagePretrainedNetwork("googlenet");% 保存網絡的各層到變量ly中
ly = net.Layers;% 提取第二層
conv = ly(2);% 提取第二層的權重,這里不加分號可以看到W的輸出
W = conv.Weights

從W的輸出可以看到網絡第二層的權重(即第一個卷積層)是一個大小為 7×7×3×64 的數組。這意味著該層有 64 個不同的濾波器。每個濾波器的尺寸是 7×7×3,因此可以將它們看作是 RGB 圖像。為了正確顯示這些濾波器,必須對它們進行歸一化處理。rescale 函數可以將權重值縮放到 0 到 1 之間。使用 montage 函數可以查看這些權重組成的數組。

% 使用 montage 函數可以查看這些權重組成的數組
montage(rescale(W))

在這里插入圖片描述

你可以通過索引訪問權重數組中的特定濾波器。你需要提取某一個濾波器的所有行、列以及 RGB 通道的數據。這里我們從權重數組中提取第 11 個濾波器,然后將其顯示出來。在使用 imshow 顯示圖像之前,應該使用 rescale 對圖像進行歸一化處理。

% 提取第11個濾波器
filter_11 = W(:,:,:,11);% 歸一化并放大顯示
figure,imshow(rescale(filter_11),"InitialMagnification", 1000)

在這里插入圖片描述

第11個濾波器似乎在尋找粉紅色。我們加載一個圖像 roses.jpg ,這個圖片中包含一些植物,但只有玫瑰是紅色的,這意味著只有玫瑰會被第11個濾波器正向激活。

在這里插入圖片描述

你可以通過使用 minibatchpredict 函數來測試這一點,并結合參數 Outputs 獲取卷積層的輸出:

features = minibatchpredict(net, img, Outputs="layer")

這里,我們從網絡 net 中獲取圖像 im 在層 "conv1-7x7_s2" 的激活值,并將輸出命名為 actvn

% 加載圖片
im = imread("roses.jpg");% 獲取圖像在第一個卷積層的輸出
actvn = minibatchpredict(net, im, Outputs="conv1-7x7_s2");

激活值的尺寸為 m×n×64。也就是說,第一層卷積中的每個濾波器都會產生一個激活圖(或稱為特征圖)。如果你想研究第11個濾波器的效果,需要提取第11個通道的激活值。對這個矩陣使用 rescale 進行歸一化,然后使用 imshow 將其顯示出來。

figure,imshow(rescale(actvn(:,:,11)))

在這里插入圖片描述

正如預期的那樣,紅色的玫瑰被強烈激活了。你可以使用這些步驟來研究 montage 中顯示的任何一個濾波器。

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

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

相關文章

Verilog中X態的危險:仿真漏掉的bug

由于Verilog中X態的微妙語義,RTL仿真可能PASS,而網表仿真卻會fail。 目前進行的網表仿真越來越少,這個問題尤其嚴重,主要是網表仿真比RTL仿真慢得多,因此對整個回歸測試而言成本效益不高。 上面的例子中,用Verilog RTL中的case語句描述了一個簡單的AND函數,它被綜合成AN…

PyTorch中知識蒸餾淺講

知識蒸餾 在 PyTorch 中,使用 teacher_model.eval() 和凍結教師模型參數是知識蒸餾(Knowledge Distillation)中的關鍵步驟。 ?1. teacher_model.eval() 的作用 目的: 將教師模型切換到評估模式,影響某些特定層(如 Dropout、BatchNorm)的行為。 ?具體影響: ?Dropo…

Odoo/OpenERP 和 psql 命令行的快速參考總結

Odoo/OpenERP 和 psql 命令行的快速參考總結 psql 命令行選項 選項意義-a從腳本中響應所有輸入-A取消表數據輸出的對齊模式-c <查詢>僅運行一個簡單的查詢&#xff0c;然后退出-d <數據庫名>指定連接的數據庫名&#xff08;默認為當前登錄用戶名&#xff09;-e回顯…

ChatGPT 迎來 4o模型:更強大的圖像生成能力與潛在風險

OpenAI 對 ChatGPT 進行重大升級&#xff0c;圖像生成功能即將迎來新的 4o 模型&#xff0c;并取代原本的 DALLE。此次更新不僅提升了圖像生成質量&#xff0c;還增強了對話內容和上傳文件的融合能力&#xff0c;使 AI 生成的圖像更加智能化和精準化。 4o 模型帶來的革新 Ope…

Python 實現的運籌優化系統代碼詳解(整數規劃問題)

一、引言 在數學建模的廣袤領域里&#xff0c;整數規劃問題占據著極為重要的地位。它廣泛應用于工業生產、資源分配、項目管理等諸多實際場景&#xff0c;旨在尋求在一系列約束條件下&#xff0c;使目標函數達到最優&#xff08;最大或最小&#xff09;且決策變量取整數值的解決…

Visual Studio Code配置自動規范代碼格式

目錄 前言1. 插件安裝2. 配置個性化設置2.1 在左下角點擊設置按鈕 &#xff0c;點擊命令面板&#xff08;或者也可以之間按快捷鍵CtrlShiftP&#xff09;2.2 在彈出的搜索框輸入 settings.json&#xff0c;打開首選項&#xff1a;打開工作區設置&#xff1b;2.3 在settings.jso…

【分布式】Hystrix 的核心概念與工作原理?

熔斷機制? Hystrix 的熔斷機制就像是電路中的保險絲。當某個服務的失敗請求達到一定比例&#xff08;例如 50%&#xff09;或者在一定時間內&#xff08;如 20 秒&#xff09;失敗請求數量超過一定閾值&#xff08;如 20 個&#xff09;時&#xff0c;熔斷開關就會打開。此時…

TypeScript 中 await 的詳解

TypeScript 中 await 的詳解 1. 基本概念2. 語法要求3. 工作原理4. 與 Promise 的比較5. 實踐中的注意事項總結 本文詳細介紹了 TypeScript 中 await 的工作原理、語法要求、與 Promise 的關系以及實踐中需要注意的問題&#xff0c;同時針對代碼示例進行了優化和補充說明。 1.…

ThreadLocal 深度解析

一、引言 在多線程編程的復雜世界中&#xff0c;數據共享與隔離是一個核心且具有挑戰性的問題。ThreadLocal 作為 Java 并發包中的重要工具&#xff0c;為我們提供了一種獨特的線程局部變量管理方式&#xff0c;使得每個線程都能擁有自己獨立的變量副本&#xff0c;避免了多線…

VMware安裝Ubuntu實戰分享

在日常開發和學習過程中&#xff0c;很多人都會選擇在VMware虛擬機上安裝Ubuntu&#xff0c;以便進行Linux環境的體驗和開發調試。本文將詳細分享在VMware Workstation上安裝Ubuntu的全過程&#xff0c;并結合個人經驗&#xff0c;提供一些實用的小技巧&#xff0c;幫助大家順利…

阻止上傳可執行程序

點擊工具中的文件服務器資源管理器 、然后點擊文件屏蔽管理中的文件屏蔽&#xff0c;然后導入目標文件選擇要限制的屬性即可

微服務面試題:配置中心

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;精通Java編…

系統思考反饋

最近交付的都是一些持續性的項目&#xff0c;越來越感覺到&#xff0c;系統思考和第五項修煉不只是簡單的一門課程&#xff0c;它們能真正融入到我們的日常工作和業務中&#xff0c;幫助我們用更清晰的思維方式解決復雜問題&#xff0c;推動團隊協作&#xff0c;激發創新。 特…

MMD 轉 STL,拓寬 3D 模型應用邊界:方法與門道

在 3D 建模與打印領域&#xff0c;不同格式文件間的轉換是常見需求。MMD&#xff08;MikuMikuDance&#xff09;模型文件格式常用于動漫角色的舞蹈創作等&#xff0c;而 STL&#xff08;Stereolithography&#xff09;格式則廣泛應用于 3D 打印與計算機輔助設計&#xff08;CAD…

C語言 【初始指針】【指針一】

引言 思緒很久&#xff0c;還是決定寫一寫指針&#xff0c;指針這塊內容很多&#xff0c;也不是那么容易說清楚&#xff0c;這里盡可能寫地詳細&#xff0c;讓大家理解指針。&#xff08;未完序&#xff09; 一、內存和地址 在講指針前&#xff0c;需要有一個對內存和地址的認…

深入理解pthread多線程編程:從基礎到生產者-消費者模型

前言 在多核處理器普及的今天&#xff0c;多線程編程已成為提高程序性能的重要手段。POSIX線程&#xff08;pthread&#xff09;是Unix/Linux系統下廣泛使用的多線程API。本文將系統介紹pthread的關鍵概念&#xff0c;包括線程初始化、死鎖預防、遞歸鎖使用&#xff0c;并通過…

springboot 對接馬來西亞數據源API等多個國家的數據源

使用Spring Boot對接StockTV全球金融數據API指南 StockTV提供了覆蓋股票、外匯、期貨和加密貨幣的全球化金融數據接口。本文將通過Spring Boot實現對這些API的快速對接&#xff0c;并提供完整的代碼示例。 一、前期準備 1. 獲取API Key 訪問StockTV官網聯系客服獲取API Key…

軟件測試常用設計模式

設計模式的重要原則就是&#xff1a;高內聚、低耦合&#xff1b;通常程序結構中各模塊的內聚程度越高&#xff0c;模塊間的耦合程度就越低。 數據驅動測試&#xff1a;Data Driven Testing&#xff0c;簡稱DDT&#xff1b; 數據驅動指的是從數據文件&#xff08;如數據庫、Ex…

基于 Fluent-Bit 和 Fluentd 的分布式日志采集與處理方案

#作者&#xff1a;任少近 文章目錄 需求描述系統目標系統組件Fluent BitFluentdKafka 數據流與處理流程日志采集日志轉發到 Fluentd日志處理與轉發到 KafkaKafka 作為消息隊列 具體配置Fluent-Bit的CM配置Fluent-Bit的DS配置Fluentd的CM配置Fluentd的DS配置Kafka查詢結果 需求…

正則表達式(Regular Expression,簡稱 Regex)

一、5w2h&#xff08;七問法&#xff09;分析正則表達式 是的&#xff0c;5W2H 完全可以應用于研究 正則表達式&#xff08;Regular Expressions&#xff09;。通過回答 5W2H 的七個問題&#xff0c;我們可以全面理解正則表達式的定義、用途、使用方法、適用場景等&#xff0c…