主頁 >  其他 > EfficientNet網路詳解

EfficientNet網路詳解

2021-03-08 12:01:59 其他

目錄

  • 前言
  • 論文思想
  • 網路詳細結構
    • MBConv結構
    • EfficientNet(B0-B7)引數

前言

原論文名稱:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
論文下載地址:https://arxiv.org/abs/1905.11946
原論文提供代碼:https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet
自己使用Pytorch實作的代碼: pytorch_classification/Test9_efficientNet
自己使用Tensorflow實作的代碼: tensorflow_classification/Test9_efficientNet

在之前的一些手工設計網路中(AlexNet,VGG,ResNet等等)經常有人問,為什么輸入影像解析度要固定為224,為什么卷積的個數要設定為這個值,為什么網路的深度設為這么深?這些問題你要問設計作者的話,估計回復就四個字——工程經驗,而這篇論文主要是用NAS(Neural Architecture Search)技術來搜索網路的影像輸入解析度 r r r,網路的深度 d e p t h depth depth以及channel的寬度 w i d t h width width三個引數的合理化配置,在之前的一些論文中,基本都是通過改變上述3個引數中的一個來提升網路的性能,而這篇論文就是同時來探索這三個引數的影響,在論文中提到,本文提出的EfficientNet-B7Imagenet top-1上達到了當年最高準確率84.3%,與之前準確率最高的GPipe相比,引數數量(Params)僅為其1/8.4,推理速度提升了6.1倍(看上去又快又輕量,但個人實際使用起來發現很吃顯存),下圖是EfficientNet與其他網路的對比(注意,引數數量少并不意味推理速度就快),

acc


論文思想

在之前的一些論文中,有的會通過增加網路的width即增加卷積核的個數(增加特征矩陣的channels)來提升網路的性能如圖(b)所示,有的會通過增加網路的深度即使用更多的層結構來提升網路的性能如圖(c)所示,有的會通過增加輸入網路的解析度來提升網路的性能如圖(d)所示,而在本篇論文中會同時增加網路的width、網路的深度以及輸入網路的解析度來提升網路的性能如圖(e)所示:

modelscaling

  • 根據以往的經驗,增加網路的深度depth能夠得到更加豐富、復雜的特征并且能夠很好的應用到其它任務中,但網路的深度過深會面臨梯度消失,訓練困難的問題,
    The intuition is that deeper ConvNet can capture richer and more complex features, and generalize well on new tasks. However, deeper networks are also more difficult to train due to the vanishing gradient problem

  • 增加網路的width能夠獲得更高細粒度的特征并且也更容易訓練,但對于width很大而深度較淺的網路往往很難學習到更深層次的特征,
    wider networks tend to be able to capture more fine-grained features and are easier to train. However, extremely wide but shallow networks tend to have difficulties in capturing higher level features.

  • 增加輸入網路的影像解析度能夠潛在得獲得更高細粒度的特征模板,但對于非常高的輸入解析度,準確率的增益也會減小,并且大解析度影像會增加計算量,
    With higher resolution input images, ConvNets can potentially capture more fine-grained patterns. but the accuracy gain diminishes for very high resolutions.

下圖展示了在基準EfficientNetB-0上分別增加widthdepth以及resolution后得到的統計結果,通過下圖可以看出大概在Accuracy達到80%時就趨于飽和了,
scalingup
接著作者又做了一個實驗,采用不同的 d , r d, r d,r組合,然后不斷改變網路的width就得到了如下圖所示的4條曲線,通過分析可以發現在相同的FLOPs下,同時增加 d d d r r r的效果最好,
figure4
為了方便后續理解,我們先看下論文中通過 NAS(Neural Architecture Search) 技術搜索得到的EfficientNetB0的結構,如下圖所示,整個網路框架由一系列Stage組成, F ^ i \widehat{F}_i F i?表示對應Stage的運算操作, L ^ i \widehat{L}_i L i?表示在該Stage中重復 F ^ i \widehat{F}_i F i?的次數:
EfficientNetb0
作者在論文中對整個網路的運算進行抽象:
N ( d , w , r ) = ⊙ i = 1... s F i L i ( X ? H i , W i , C i ? ) N(d,w,r)=\underset{i=1...s}{\odot} {F}_i^{L_i}(X_{\left\langle{{H}_i, {W}_i, {C}_i } \right\rangle}) N(d,w,r)=i=1...s?FiLi??(X?Hi?,Wi?,Ci???)
其中:

  • ⊙ i = 1... s \underset{i=1...s}{\odot} i=1...s?表示連乘運算,
  • F i {F}_i Fi?表示一個運算操作(如上圖中的Operator),那么 F i L i {F}_i^{L_i} FiLi??表示在 S t a g e i {\rm Stage}i Stagei F i {F}_i Fi?運算被重復執行 L i L_i Li?次,
  • X X X表示輸入 S t a g e i {\rm Stage}i Stagei的特征矩陣(input tensor),
  • ? H i , W i , C i ? {\left\langle{{H}_i, {W}_i, {C}_i } \right\rangle} ?Hi?,Wi?,Ci??表示 X X X的高度,寬度,以及Channels(shape),

為了探究 d , r , w d, r, w d,r,w這三個因子對最終準確率的影響,則將 d , r , w d, r, w d,r,w加入到公式中,我們可以得到抽象化后的優化問題(在指定資源限制下),其中 s . t . s.t. s.t.代表限制條件:
Our target is to maximize the model accuracy for any given resource constraints, which can be formulated as an optimization problem:
m a x d , w , r A c c u r a c y ( N ( d , w , r ) ) s . t . N ( d , w , r ) = ⊙ i = 1... s F ^ i d ? L ^ i ( X ? r ? H ^ i , r ? W ^ i , w ? C ^ i ? ) M e m o r y ( N ) ≤ t a r g e t _ m e m o r y F L O P s ( N ) ≤ t a r g e t _ f l o p s ( 2 ) \underset{d, w, r}{max} \ \ \ \ \ Accuracy(N(d, w, r)) \\ s.t. \ \ \ \ N(d,w,r)=\underset{i=1...s}{\odot} \widehat{F}_i^{d \cdot \widehat{L}_i}(X_{\left\langle{r \cdot \widehat{H}_i, \ r \cdot \widehat{W}_i, \ w \cdot \widehat{C}_i } \right\rangle}) \\ Memory(N) \leq {\rm target\_memory} \\ \ \ \ \ \ \ \ \ \ \ FLOPs(N) \leq {\rm target\_flops} \ \ \ \ \ \ \ \ (2) d,w,rmax? Accuracy(N(d,w,r))s.t. N(d,w,r)=i=1...s?F id?L i??(X?r?H i?, r?W i?, w?C i???)Memory(N)target_memory FLOPs(N)target_flops (2)
其中:

  • d d d用來縮放深度 L ^ i \widehat{L}_i L i?
  • r r r用來縮放解析度即影響 H ^ i \widehat{H}_i H i? W ^ i \widehat{W}_i W i?
  • w w w就是用來縮放特征矩陣的channel C ^ i \widehat{C}_i C i?
  • target_memorymemory限制
  • target_flops為FLOPs限制

接著作者又提出了一個混合縮放方法 ( compound scaling method) 在這個方法中使用了一個混合因子 ? \phi ?去統一的縮放width,depth,resolution引數,具體的計算公式如下,其中 s . t . s.t. s.t.代表限制條件:
d e p t h : d = α ? w i d t h : w = β ? r e s o l u t i o n : r = γ ? ( 3 ) s . t . α ? β 2 ? γ 2 ≈ 2 α ≥ 1 , β ≥ 1 , γ ≥ 1 depth: d={\alpha}^{\phi} \\ width: w={\beta}^{\phi} \\ \ \ \ \ \ \ resolution: r={\gamma}^{\phi} \ \ \ \ \ \ \ \ \ \ (3) \\ s.t. \ \ \ \ \ \ \ {\alpha} \cdot {\beta}^{2} \cdot {\gamma}^{2} \approx 2 \\ \alpha \geq 1, \beta \geq 1, \gamma \geq 1 \ \ \ \ \ \ depth:d=α?width:w=β? resolution:r=γ? (3)s.t. α?β2?γ22α1,β1,γ1

注意:

  • FLOPs(理論計算量)與depth的關系是:當depth翻倍,FLOPs也翻倍,
  • FLOPs與width的關系是:當width翻倍(即channal翻倍),FLOPs會翻4倍,因為卷積層的FLOPs約等于 f e a t u r e w × f e a t u r e h × f e a t u r e c × k e r n e l w × k e r n e l h × k e r n e l n u m b e r feature_w \times feature_h \times feature_c \times kernel_w \times kernel_h \times kernel_{number} featurew?×featureh?×featurec?×kernelw?×kernelh?×kernelnumber?(假設輸入輸出特征矩陣的高寬不變),當width翻倍,輸入特征矩陣的channels( f e a t u r e c feature_c featurec?)和輸出特征矩陣的channels或卷積核的個數( k e r n e l n u m b e r kernel_{number} kernelnumber?)都會翻倍,所以FLOPs會翻4倍
  • FLOPs與resolution的關系是:當resolution翻倍,FLOPs也會翻4倍,和上面類似因為特征矩陣的寬度 f e a t u r e w feature_w featurew?和特征矩陣的高度 f e a t u r e h feature_h featureh?都會翻倍,

所以總的FLOPs倍率可以用近似用 ( α ? β 2 ? γ 2 ) ? (\alpha \cdot \beta^{2} \cdot \gamma^{2})^{\phi} (α?β2?γ2)?來表示,當限制 α ? β 2 ? γ 2 ≈ 2 \alpha \cdot \beta^{2} \cdot \gamma^{2} \approx 2 α?β2?γ22時,對于任意一個 ? \phi ?而言FLOPs相當增加了 2 ? 2^{\phi} 2?倍,

接下來作者在基準網路EfficientNetB-0(在后面的網路詳細結構章節會詳細講)上使用NAS來搜索 α , β , γ \alpha, \beta, \gamma α,β,γ這三個引數,

  • (step1)首先固定 ? = 1 \phi=1 ?=1,并基于上面給出的公式(2)和(3)進行搜索,作者發現對于EfficientNetB-0最佳引數為 α = 1.2 , β = 1.1 , γ = 1.15 \alpha=1.2, \beta=1.1, \gamma=1.15 α=1.2,β=1.1,γ=1.15
  • (step2)接著固定 α = 1.2 , β = 1.1 , γ = 1.15 \alpha=1.2, \beta=1.1, \gamma=1.15 α=1.2,β=1.1,γ=1.15,在EfficientNetB-0的基礎上使用不同的 ? \phi ?分別得到EfficientNetB-1至EfficientNetB-7(在后面的EfficientNet(B0-B7)引數章節有給出詳細引數)

需要注意的是,對于不同的基準網路搜索出的 α , β , γ \alpha, \beta, \gamma α,β,γ也不定相同,還需要注意的是,在原論文中,作者也說了,如果直接在大模型上去搜索 α , β , γ \alpha, \beta, \gamma α,β,γ可能獲得更好的結果,但是在較大的模型中搜索成本太大(Google大廠居然說這種話),所以這篇文章就在比較小的EfficientNetB-0模型上進行搜索的,
Notably, it is possible to achieve even better performance by searching for α, β, γ directly around a large model, but the search cost becomes prohibitively more expensive on larger models. Our method solves this issue by only doing search once on the small baseline network (step 1), and then use the same scaling coefficients for all other models (step 2).


網路詳細結構

下表為EfficientNet-B0的網路框架(B1-B7就是在B0的基礎上修改ResolutionChannels以及Layers),可以看出網路總共分成了9個Stage,第一個Stage就是一個卷積核大小為3x3步距為2的普通卷積層(包含BN和激活函式Swish),Stage2~Stage8都是在重復堆疊MBConv結構(最后一列的Layers表示該Stage重復MBConv結構多少次),而Stage9由一個普通的1x1的卷積層(包含BN和激活函式Swish)一個平均池化層和一個全連接層組成,表格中每個MBConv后會跟一個數字1或6,這里的1或6就是倍率因子nMBConv中第一個1x1的卷積層會將輸入特征矩陣的channels擴充為n倍,其中k3x3k5x5表示MBConvDepthwise Conv所采用的卷積核大小,Channels表示通過該Stage后輸出特征矩陣的Channels
EfficientNetb0

MBConv結構

MBConv其實就是MobileNetV3網路中的InvertedResidualBlock,但也有些許區別,一個是采用的激活函式不一樣(EfficientNet的MBConv中使用的都是Swish激活函式),另一個是在每個MBConv中都加入了SE(Squeeze-and-Excitation)模塊,下圖是我自己繪制的MBConv結構,

MBConv如圖所示,MBConv結構主要由一個1x1的普通卷積(升維作用,包含BN和Swish),一個3x3Depthwise Conv卷積(包含BN和Swish),一個SE模塊,一個1x1的普通卷積(降維作用,包含BN),一個Droupout層構成,搭建程序中還需要注意幾點:

  • 第一個升維的1x1卷積層,它的卷積核個數是輸入特征矩陣channel n n n倍, n ∈ { 1 , 6 } n \in \left\{1, 6\right\} n{1,6}
  • n = 1 n=1 n=1時,不要第一個升維的1x1卷積層,即Stage2中的MBConv結構都沒有第一個升維的1x1卷積層(這和MobileNetV3網路類似),
  • 關于shortcut連接,僅當輸入MBConv結構的特征矩陣與輸出的特征矩陣shape相同時才存在(代碼中可通過stride==1 and inputc_channels==output_channels條件來判斷),
  • SE模塊如下所示,由一個全域平均池化,兩個全連接層組成,第一個全連接層的節點個數是輸入該MBConv特征矩陣channels 1 4 \frac{1}{4} 41?,且使用Swish激活函式,第二個全連接層的節點個數等于Depthwise Conv層輸出的特征矩陣channels,且使用Sigmoid激活函式,

semodule

EfficientNet(B0-B7)引數

還是先給出EfficientNetB0的網路結構,方便后面理解,
EfficientNetb0
通過上面的內容,我們是可以搭建出EfficientNetB0網路的,其他版本的詳細引數可見下表:

Modelinput_sizewidth_coefficientdepth_coefficientdropout_ratio
EfficientNetB0224x2241.01.00.2
EfficientNetB1240x2401.01.10.2
EfficientNetB2260x2601.11.20.3
EfficientNetB3300x3001.21.40.3
EfficientNetB4380x3801.41.80.4
EfficientNetB5456x4561.62.20.4
EfficientNetB6528x5281.82.60.5
EfficientNetB7600x6002.03.10.5
  • input_size代表訓練網路時輸入網路的影像大小
  • width_coefficient代表channel維度上的倍增因子,比如在 EfficientNetB0中Stage13x3卷積層所使用的卷積核個數是32,那么在B6中就是 32 × 1.8 = 57.6 32 \times 1.8=57.6 32×1.8=57.6接著取整到離它最近的8的整數倍即56,其它Stage同理,
  • depth_coefficient代表depth維度上的倍率因子(僅針對Stage2Stage8),比如在EfficientNetB0中Stage7 L ^ i = 4 {\widehat L}_i=4 L i?=4,那么在B6中就是 4 × 2.6 = 10.4 4 \times 2.6=10.4 4×2.6=10.4接著向上取整即11.
  • dropout_ratioMBConv結構中的dropout層的drop_rate,在官方keras模塊的實作中MBConv結構的drop_rate是從0遞增到dropout_ratio的(具體實作可以看下原始碼),

最后給出原論文中關于EfficientNet與當時主流網路的性能引數對比:

EfficientNetvsothers

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/267506.html

標籤:AI

上一篇:K8S基礎

下一篇:c語言 由字串轉ASCII碼

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 2023年最新微信小程式抓包教程

    01 開門見山 隔一個月發一篇文章,不過分。 首先回顧一下《微信系結手機號資料庫被脫庫事件》,我也是第一時間得知了這個訊息,然后跟蹤了整件事情的經過。下面是這起事件的相關截圖以及近日流出的一萬條資料樣本: 個人認為這件事也沒什么,還不如關注一下之前45億快遞資料查詢渠道疑似在近日復活的訊息。 訊息是 ......

    uj5u.com 2023-04-20 08:48:24 more
  • web3 產品介紹:metamask 錢包 使用最多的瀏覽器插件錢包

    Metamask錢包是一種基于區塊鏈技術的數字貨幣錢包,它允許用戶在安全、便捷的環境下管理自己的加密資產。Metamask錢包是以太坊生態系統中最流行的錢包之一,它具有易于使用、安全性高和功能強大等優點。 本文將詳細介紹Metamask錢包的功能和使用方法。 一、 Metamask錢包的功能 數字資 ......

    uj5u.com 2023-04-20 08:47:46 more
  • vulnhub_Earth

    前言 靶機地址->>>vulnhub_Earth 攻擊機ip:192.168.20.121 靶機ip:192.168.20.122 參考文章 https://www.cnblogs.com/Jing-X/archive/2022/04/03/16097695.html https://www.cnb ......

    uj5u.com 2023-04-20 07:46:20 more
  • 從4k到42k,軟體測驗工程師的漲薪史,給我看哭了

    清明節一過,盲猜大家已經無心上班,在數著日子準備過五一,但一想到銀行卡里的余額……瞬間心情就不美麗了。最近,2023年高校畢業生就業調查顯示,本科畢業月平均起薪為5825元。調查一出,便有很多同學表示自己又被平均了。看著這一資料,不免讓人想到前不久中國青年報的一項調查:近六成大學生認為畢業10年內會 ......

    uj5u.com 2023-04-20 07:44:00 more
  • 最新版本 Stable Diffusion 開源 AI 繪畫工具之中文自動提詞篇

    🎈 標簽生成器 由于輸入正向提示詞 prompt 和反向提示詞 negative prompt 都是使用英文,所以對學習母語的我們非常不友好 使用網址:https://tinygeeker.github.io/p/ai-prompt-generator 這個網址是為了讓大家在使用 AI 繪畫的時候 ......

    uj5u.com 2023-04-20 07:43:36 more
  • 漫談前端自動化測驗演進之路及測驗工具分析

    隨著前端技術的不斷發展和應用程式的日益復雜,前端自動化測驗也在不斷演進。隨著 Web 應用程式變得越來越復雜,自動化測驗的需求也越來越高。如今,自動化測驗已經成為 Web 應用程式開發程序中不可或缺的一部分,它們可以幫助開發人員更快地發現和修復錯誤,提高應用程式的性能和可靠性。 ......

    uj5u.com 2023-04-20 07:43:16 more
  • CANN開發實踐:4個DVPP記憶體問題的典型案例解讀

    摘要:由于DVPP媒體資料處理功能對存放輸入、輸出資料的記憶體有更高的要求(例如,記憶體首地址128位元組對齊),因此需呼叫專用的記憶體申請介面,那么本期就分享幾個關于DVPP記憶體問題的典型案例,并給出原因分析及解決方法。 本文分享自華為云社區《FAQ_DVPP記憶體問題案例》,作者:昇騰CANN。 DVPP ......

    uj5u.com 2023-04-20 07:43:03 more
  • msf學習

    msf學習 以kali自帶的msf為例 一、msf核心模塊與功能 msf模塊都放在/usr/share/metasploit-framework/modules目錄下 1、auxiliary 輔助模塊,輔助滲透(埠掃描、登錄密碼爆破、漏洞驗證等) 2、encoders 編碼器模塊,主要包含各種編碼 ......

    uj5u.com 2023-04-20 07:42:59 more
  • Halcon軟體安裝與界面簡介

    1. 下載Halcon17版本到到本地 2. 雙擊安裝包后 3. 步驟如下 1.2 Halcon軟體安裝 界面分為四大塊 1. Halcon的五個助手 1) 影像采集助手:與相機連接,設定相機引數,采集影像 2) 標定助手:九點標定或是其它的標定,生成標定檔案及內參外參,可以將像素單位轉換為長度單位 ......

    uj5u.com 2023-04-20 07:42:17 more
  • 在MacOS下使用Unity3D開發游戲

    第一次發博客,先發一下我的游戲開發環境吧。 去年2月份買了一臺MacBookPro2021 M1pro(以下簡稱mbp),這一年來一直在用mbp開發游戲。我大致分享一下我的開發工具以及使用體驗。 1、Unity 官網鏈接: https://unity.cn/releases 我一般使用的Apple ......

    uj5u.com 2023-04-20 07:40:19 more