主頁 >  其他 > 詳解Inception結構:從Inception v1到Xception

詳解Inception結構:從Inception v1到Xception

2022-02-17 07:32:19 其他

文章目錄

    • 概述
    • NiN對Inception的啟發
    • Inception v1
    • Inception v2
    • Inception v3
    • Inception v4
    • Xception
    • 總結回顧

概述

(一)Inception結構的來源與演變

Inception(盜夢空間結構)是經典模型GoogLeNet中最核心的子網路結構,GoogLeNet是Google團隊提出的一種神經網路模型,并在2014年ImageNet挑戰賽(ILSVRC14)上獲得了冠軍,關于GoogLeNet模型詳細介紹,可以參考博主的另一篇博客 GoogLeNet網路詳解與模型搭建GoogLeNet網路詳解與模型搭建,Google團隊在隨后2年里不斷改進,相繼提出了v1-v4和xcpetion結構,本文對系列模型進行詳細介紹,

2014-2016年,谷歌實驗室發表了多篇系列經典論文,充實了Inception結構和GoogLeNet模型:

Inception v1(GoogLeNet, 2014) --> Inception v2(BN-Inception) --> Inception v3 --> Inception v4(Inception-ResNet) --> Xception(2016)

  • GoogLeNet:《Going deeper with convolutions》, 2014.09
  • BN:《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》, 2015.02
  • Inception v3:《Rethinking the Inception Architecture for Computer Vision》, 2015.12
  • Inception v4:《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》, 2016.02
  • Xception:《Xception: Deep Learning with Depthwise Separable Convolutions》, 2016.10

(二)什么是Inception結構?

Inception就是將多個卷積或池化操作放在一起組裝成一個網路模塊,設計神經網路時,以模塊為單位去組裝整個網路結構,Inception結構設計了一個稀疏網路結構,但是能夠產生稠密的資料,既能增加神經網路表現,又能保證計算資源的使用效率,

在這里插入圖片描述

在GoogLeNet之前的網路中,一層一般只使用一種操作(單個卷積或池化),一層只使用一個操作的弊端是提取出來的特征往往過于單調,在實際情況中,由于影像的不同尺度等原因,需要不同程度的下采樣,或者說不同大小的卷積核,我們希望網路代替人手工自己決定到底使用 1 × 1 1\times1 1×1 3 × 3 3\times3 3×3 5 × 5 5\times5 5×5以及是否需要max_pooling層,由網路自動去尋找適合的結構,并且節省計算提取更為豐富的特征,Inception結構正好滿足了這樣的需求,因而獲得了更好的表現,

(三)為什么要提出Inception結構?

The most straightforward way of improving the performance of deep neural networks is by increasing their size. This includes both increasing the depth – the number of levels – of the network and its width: the number of units at each level. This is as an easy and safe way of training higher quality models, especially given the availability of a large amount of labeled training data. However this simple solution comes with two major drawbacks.

Bigger size typically means a larger number of parameters, which makes the enlarged network more prone to over?tting, especially if the number of labeled examples in the training set is limited.

Another drawback of uniformly increased network size is the dramatically increased use of computational resources.

The fundamental way of solving both issues would be by ultimately moving from fully connected to sparsely connected architectures, even inside the convolutions.

? 《Going deeper with convolutions》

文章提出,提升網路性能最直接的辦法就是增加網路深度和寬度,深度指網路層次數量、寬度指神經元數量,但這種方式存在以下問題:

  1. 引數太多,如果訓練資料集有限,很容易產生過擬合;
  2. 網路越大、引數越多,計算復雜度越大,難以應用;
  3. 網路越深,容易出現梯度彌散問題(梯度越往后穿越容易消失),難以優化模型,

為了解決提出的問題,就要在增加網路深度和寬度的同時減少引數,減少引數自然就想到將全連接變成稀疏連接,但是在實作上,全連接變成稀疏連接后實際計算量并不會有質的提升,因為大部分硬體是針對密集矩陣計算優化的,稀疏矩陣雖然資料量少,但是計算所消耗的時間卻很難減少,

那么,有沒有一種方法既能保持網路結構的稀疏性,又能利用密集矩陣的高計算性能,大量的文獻表明可以將稀疏矩陣聚類為較為密集的子矩陣來提高計算性能,就如人類的大腦是可以看做是神經元的重復堆積,因此,GoogLeNet團隊提出了Inception網路結構,就是構造一種“基礎神經元”結構,來搭建一個稀疏性、高計算性能的網路結構,

NiN對Inception的啟發

Network In Network (NIN)是由 M i n L i n Min Lin MinLin等人于2014年提出,其網路結構中通過引入子網路結構代替純卷積中的線性映射部分(NiN模型的詳細介紹可參考博主的另一篇博客 NiN網路詳解),這種形式的網路結構激發了更復雜的卷積神經網路的結構設計,Inception結構就是來源于這個思想,從上文圖中的native inception結構中可以看出,在相鄰的上下2層之間添加多個卷積核池化的并行操作可以提高模型的非線性表達能力,

除此之外,NiN網路中的MLPConv層則提供了 1 × 1 1\times1 1×1卷積的思路, 1 × 1 1\times1 1×1卷積不僅可以對通道數進行升降維,顯著降低引數量,還可以實作資訊的跨通道互動與整合,下面理解一下 1 × 1 1\times1 1×1卷積程序👇

在這里插入圖片描述

上圖程序為輸入大小為 56 × 56 × 3 56\times56\times3 56×56×3的feature map,通過3個 1 × 1 × 3 1\times1\times3 1×1×3卷積核,輸出大小為 56 × 56 × 1 56\times56\times1 56×56×1的feature map的卷積程序,當然,以上程序也可以看作是對三個通道進行了線性組合,這幾個卷積核可以看成就是一個簡單的神經元結構,每個神經元引數數量與前面的通道數量相等,通常在卷積之后會加入非線性激活函式,在這里之后加入激活函式,就可以理解成一個簡單的MLP網路了,

那么 1 × 1 1\times1 1×1卷積如何實作通道數的改變和降低模型引數的呢?

相信大家在看完下文Inception v1與native inception結構的對比后就會發現答案,

Inception v1

下圖中展示了原始Inception(native inception)結構和GoogLeNet中使用的Inception v1結構,使用Inception v1 Module的GoogleNet不僅比Alex深,而且引數比AlexNet足足減少了12倍,網路大小約是VGGNet的1/20,

在這里插入圖片描述

GoogleNet作者的初始想法是用多個不同型別的卷積核( 1 × 1 1\times1 1×1 3 × 3 3\times3 3×3 5 × 5 5\times5 5×5 3 × 3 P o o l 3\times3Pool 3×3Pool)堆疊在一起(卷積、池化后的尺寸相同,將通道相加)代替一個3x3的小卷積核(如左圖),好處是可以使提取出來的特征具有多樣化,并且特征之間的co-relationship不會很大,最后用把feature map都concatenate起來使網路做得很寬,然后堆疊Inception Module將網路變深,但僅僅簡單這么做會使一層的計算量爆炸式增長

native inception中所有的卷積核都在上一層的所有輸出上來做,而那個5x5的卷積核所需的計算量就太大了,造成了特征圖的厚度很大,為了避免這種情況,在3x3前、5x5前、max pooling后分別加上了1x1的卷積核,以起到了降低特征圖厚度的作用,這也就形成了Inception v1的網路結構(右圖),

假設input feature map的size為 28 × 28 × 256 28\times28\times256 28×28×256,output feature map的size為 28 × 28 × 480 28\times28\times480 28×28×480,則native Inception Module的計算量有854M,計算程序如下

在這里插入圖片描述

從上圖可以看出,計算量主要來自高維卷積核的卷積操作,因而在每一個卷積前先使用 1 × 1 1\times1 1×1卷積核將輸入圖片的feature map維度先降低,進行資訊壓縮,在使用3x3卷積核進行特征提取運算,相同情況下,Inception v1的計算量僅為358M,

在這里插入圖片描述

Inception v1結構總共有4個分支,輸入的feature map并行的通過這四個分支得到四個輸出,然后在在將這四個輸出在深度維度(channel維度)進行拼接(concate)得到我們的最終輸出(注意,為了讓四個分支的輸出能夠在深度方向進行拼接,必須保證四個分支輸出的特征矩陣高度和寬度都相同),因此inception結構的引數為:

  • branch1: C o n v 1 × 1 C o n v 1 × 1 Conv1×1 , stride=1
  • branch2: C o n v 3 × 3 C o n v 3 × 3 Conv3×3, stride=1, padding=1
  • branch3: C o n v 5 × 5 C o n v 5 × 5 Conv5×5, stride=1, padding=2
  • branch4: M a x P o o l 3 × 3 M a x P o o l 3 × 3 MaxPool3×3, stride=1, padding=1

Inception v2

GoogLeNet憑借其優秀的表現,得到了很多研究人員的學習和使用,因此GoogLeNet團隊又對其進行了進一步地發掘改進,繼而提出了Inception v2,Inception v2的核心思想來自Google發表的2篇論文《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》和《Rethinking the Inception Architecture for Computer Vision》,第一篇論文的附錄里,作者給出了Inception-BN(inception v2)的模型結構,即在v1的基礎上于卷積層與激活函式之間插入BN層:Conv-BN-ReLU,并將v1結構中的 5 × 5 5\times5 5×5卷積核替換為2個 3 × 3 3\times3 3×3卷積核,第二篇論文里,作者給出了inception v2中卷積分解的詳細說明,

(一)Batch Normalization

在BN的論文里,作者提出了Internal Covariate Shift這個問題,即在訓練神經網路的程序中,因為前一層的引數變化而導致每層的輸入分布都在不斷變化(the distribution of each layer’s inputs changes during training, as the parameters of the previous layers change),這使得我們需要更低的學習率和更小心地進行引數初始化,導致我們難以充分構建一個具有飽滿地非線性結構的模型,而這個現象就被稱作Internal Covariate Shift,為了解決這個問題,Google提出了Batch Normalization(批規范化),即在每次梯度下降前,對每個mini-batch做歸一化操作來降低資料分布的影響,

我們在影像預處理程序中通常會對影像進行標準化處理,這樣能夠加速網路的收斂,對于輸入層來說,其輸入資料滿足某一分布的特征矩陣,但對于后續層結構而言輸入的feature map就不一定滿足某一分布規律了,而BN層的目的就是使我們的feature map滿足均值為0,方差為1的分布規律,想對BN層進一步了解,推薦閱讀原論文,

(二)小卷積核替代大卷積核

在VGGNet中就提出了通過堆疊兩層 3 × 3 3\times3 3×3的卷積核可以替代一層 5 × 5 5\times 5 5×5的卷積核,堆疊三層 3 × 3 3\times3 3×3的卷積核替代一層 7 × 7 7\times7 7×7的卷積核(參考:VGGNet網路詳解與模型搭建),這樣的連接方式在保持感受野范圍的同時又減少了引數量,并且可以避免表達瓶頸,加深非線性表達能力,基于此,作者通過將inception v1結構中的 5 × 5 5\times5 5×5卷積核替換為2個 3 × 3 3\times3 3×3卷積核,如下左圖為v1結構,右圖為v2結構,
在這里插入圖片描述

Inception v3

Inception v3來自論文《Rethinking the Inception Architecture for Computer Vision》,論文中首先給出了深度網路的通用設計原則,并在此原則上對inception結構進行修改,最終形成Inception v3,

(一)深度網路的通用設計原則

  1. 避免表達瓶頸,特別是在網路靠前的地方, 資訊流前向傳播程序中顯然不能經過高度壓縮的層,即表達瓶頸,從input到output,feature map的寬和高基本都會逐漸變小,但是不能一下子就變得很小,比如你上來就來個kernel = 7, stride = 5 ,這樣顯然不合適,
    另外輸出的維度channel,一般來說會逐漸增多(每層的num_output),否則網路會很難訓練,(特征維度并不代表資訊的多少,只是作為一種估計的手段),
  2. 高維特征更易處理, 高維特征更易區分,會加快訓練,
  3. 可以在低維嵌入上進行空間匯聚而無需擔心丟失很多資訊, 比如在進行3x3卷積之前,可以對輸入先進行降維而不會產生嚴重的后果,假設資訊可以被簡單壓縮,那么訓練就會加快,
  4. 平衡網路的寬度與深度,

上述的這些并不能直接用來提高網路質量,而僅用來在大環境下作指導,

(二)卷積分解(Factorizing Convolutions)

作者將一個大卷積核的操作分解成若干個小卷積核的操作稱為卷積分解,并探討了2種不同的卷積分解方法,即對稱卷積分解和不對稱卷積空間分解,

  • 對稱卷積分解

即使用小卷積核串聯來替代大卷積核,這在inception v2中已經提到過,同時作者還提出,通過大量實驗表明這種替代方案并不會造成表達能力的下降,通過堆疊兩層 3 × 3 3\times3 3×3的卷積核可以替代一層 5 × 5 5\times 5 5×5的卷積核,堆疊三層 3 × 3 3\times3 3×3的卷積核替代一層 7 × 7 7\times7 7×7的卷積核,可以看出,大卷積核完全可以由一系列的 3 × 3 3\times3 3×3卷積核來替代,那能不能再分解得更小一點呢?GoogLeNet團隊考慮了非對稱卷積分解,

  • 非對稱卷積分解

任意 n × n n\times n n×n的卷積都可以通過 1 × n 1\times n 1×n卷積后接 n × 1 n\times 1 n×1卷積來替代,如下圖(右)所示,

在這里插入圖片描述

實際上,作者發現在網路的前期使用這種分解效果并不好,還有在中度大小的feature map上使用效果才會更好,(對于mxm大小的feature map,建議m在12到20之間)

(三)降低特征圖大小

一般情況下,如果想讓特征圖的通道數,可以有如下兩種方式:

在這里插入圖片描述

先池化再作Inception卷積,或者先作Inception卷積再作池化,但是方法一(左圖)先作pooling(池化)會導致特征表示遇到瓶頸(特征缺失),方法二(右圖)是正常的縮小,但計算量很大,為了同時保持特征表示且降低計算量,將網路結構改為下圖,使用兩個并行化的模塊來降低計算量(卷積、池化并行執行,再進行合并),即用卷積得到一半的特征圖,池化得到一半的特征圖,再進行拼接

在這里插入圖片描述

Inception v4

2016年ResNet網路的提出解決了隨著神經網路的加深,引數越來越多,模型越來越難以訓練,訓練時間大大增加,容易出現梯度消散問題,為了融合這一重要成果,Google團隊在論文《Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning》里提出了第四版模型,Inception v4研究了Inception模塊與殘差連接(Residual Connection)的結合來改進V3結構,

在這里插入圖片描述

如圖,將殘差模塊的卷積結構替換為Inception結構,即得到Inception Residual結構,除了上述右圖中的結構外,作者通過20個類似的模塊進行組合,最后形成了InceptionV4的網路結構,構建了Inception-ResNet模型,

Xception

持續更新中…

總結回顧

  1. Inception v1主要采用了多尺度卷積核、1x1卷積操作,
  2. Inception v2在v1的基礎上增加了BN層,使用2個 3 × 3 3\times3 3×3小卷積核堆疊替換 5 × 5 5\times5 5×5大卷積核;
  3. inception v3進行了卷積分解(將 7 × 7 7\times7 7×7分解成兩個一維的卷積 1 × 7 1\times7 1×7 1 × 7 1\times7 1×7 3 × 3 3\times3 3×3也是一樣 1 × 3 1\times3 1×3 3 × 1 3\times1 3×1))和特征圖降維,
  4. inception v4在v3的基礎上融合了Residual模塊,

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

標籤:AI

上一篇:【學習筆記】tensorflow-serving模型部署

下一篇:數字影像處理:線性和非線性濾波的平滑空間濾波器(Smoothing Spatial Filters)

標籤雲
其他(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