主頁 >  其他 > 深度學習分類網路的發展歷史

深度學習分類網路的發展歷史

2020-09-10 12:57:12 其他

  著作權申明:本文為博主窗戶(Colin Cai)原創,歡迎轉帖,如要轉貼,必須注明原文網址

  http://www.cnblogs.com/Colin-Cai/p/11900470.html 

  作者:窗戶

  QQ/微信:6679072

  E-mail:[email protected]

  人工智能(AI)是目前IT最前沿的領域之一,而深度學習(Deep Learning)則是AI中最火熱的方向,深度學習是指深度的神經網路,這主要是因為網路深了之后才可以表現更廣闊的意思,而神經網路最基本的問題是分類問題,本文從神經網路開始起,講講深度學習分類網路的發展歷史以及其中用到的技術,

  人工智能很早就有研究,一度分為三大學派——符號派,行為派,連接派,符號派,認為符號演繹是AI的本質,Lisp/prolog這些都是符號派的杰作;而行為派更加偏向于對行為的分析,像遺傳進化模型、人工蟻群、粒子群、強化學習(人工蟻群實際上是強化學習的特例)等,而本文既然講深度學習,自然是連接派的研究成果,目前,也的確是連接派發展的最好,但未來的AI個人懷疑是三大學派的合流,

  

  神經網路

 

  上世紀初,人們發現并研究大腦神經元,

 

   知道了神經元是用樹突的信號傳遞資訊,并構成如下網狀的環境,

 

 

  神經網路的歷史很早,早在1943年就由McCulloch和Pitts根據大腦神經元的生物現實提出了神經網路的概念,這是仿生學的開始,

  神經網路的單個神經元看成幾個輸入量的函式,這里所有的單個輸入量、輸出量都是標量,考慮到通用性以及計算的方便,主流上基本只考慮以下這樣的模型的神經元:

  

   $t=f(b+\sum_{i=1}^{n}a_{n}*b_{n})$

  這里的SUM是各個輸入的加權和(weighted sum),而f稱之為激勵函式(activation function),此函式相當于用各個權值(weight)表示各個輸入信號參與的程度,而b是先天加上的一個偏置(bias),了解一些神經網路的朋友會馬上明白神經網路的訓練連實際上就是訓練各個神經元的權值和偏置,

 

  而這里的激勵函式,也很重要,前面加權值是線性的,如果所有的神經元都表現的是線性關系,那么所有信號的漸變只會導致最終輸出信號的漸變,這種平穩的漸變不符合我們實際的需要,我們一般需要的并非是這種非漸進的東西,而更加需要突變的東西,比如這樣的躍遷函式

 

  但是這里就有一個一類間斷點,而連續對于神經網路很重要(后面會說明),一類間斷點和二類間斷點很多時候是災難,于是一般我們采用別的函式來模擬躍遷函式這樣的“瞬變”,比如sigmoid函式和tanh函式,他們有著類似于下面的影像:

 

 

  中間過渡帶的寬度可以由權值來調節,

  

  神經網路由多個神經元構成,以下為單層神經網路:

  有單層自然有多層,以下為多層:

 

   乃至各種各樣的經典神經網路

 

   神經網路的學習

 

  既然神經網路要拿來使用,就得學習,在這里,我們只考慮監督學習,

  所謂監督學習,就仿佛是“填鴨式教學”,目的是希望舉一反三,作為監督導師,事先準備了n個問題,給出了n個標準答案,把這n個問題和n個標準答案教給AI模型(至于怎么教隨意),然后不再教學,希望AI模型可以解決這n個問題之外的問題,

  神經網路為了可學習,對于每次學習的問題,定義了自己推理結果和標準答案之間的距離,稱之為損失(loss),這和其他的一些AI模型有著很大的差別(比如KNN、DT等),

  常用的有MSE損失函式,這個是從曲線擬合的最小二乘法就開始使用了,為神經網路實際推理結果和標準答案各維度之差的平方值的平均,

  $MSE(Y,y)=\frac{1}{2n}\sum_{i=1}^{n}(Y_{i}-y_{i})^2$

  其中1/2n是取平均,因為對于具體網路這個是一個常數,從而可以忽略,

  另外,交叉熵也很常用,

  $C(Y,y)=\sum_{i=1}^{n}Y_{i}*log(y_{i})+(1-Y_{i})log(1-y_{i})$

  而我們訓練的目的是為了loss盡可能的小,從而推理結果更接近于實際預期結果,

  于是我們把loss看成是所有要訓練引數的函式,

  $loss=F(w_{0},w_{1},...,w_{n})$

  于是,我們希望loss最小,實際上發生的時候,所有的

  $\frac{\partial F}{\partial w_{m}}=0$

  很早的時候,人們就創造了一個梯度下降演算法,也就是按照梯度

  $(\frac{\partial F}{\partial w_{0}},\frac{\partial F}{\partial w_{1}},...\frac{\partial F}{\partial w_{n}})$

  的反方向依次下降到梯度為零的地方附近,這樣的方向調整引數最快達到目標,

  

 

 

   又因為神經網路是一級一級的,所有loss表示為各個weight的函式其實是一堆函式的符合函式,求導滿足鏈式規則,各個weight的梯度分量可以根據鏈式規則從后往前計算,于是人們給了它一個名字叫反向傳播(Backpropagation),

 

  卷積神經網路

 

  

  我們再來看看上面這個多層感知器,每一層所有輸入和輸出之間都存在連接,這叫全連接,

  (1)全連接引數過于多,網路很容易變的非常重,不利于讓網路往深度方面去發展,
  (2)再者,全連接直接是一種影像整體關系的處理,而生活的經驗和基于信號處理的傳統影像處理告訴我們,對影像的識別往往取決于區域,也就是說,影像的識別、處理等往往依據的是影像區域的邏輯性,而不是一堆雜亂無章的像素點,
  (3)同樣的理由,全連接對于影像的平移、旋轉等變換完全沒有任何感覺,也就是不具備平移不變性、旋轉不變性,

  

  于是我們得找一種新的方法,那就是卷積(convolution),

 

 

   參考了卷積之后,神經網路的連接比全連接要少的多,并且帶上了平移不變性,但不帶有旋轉不變性,從此卷積神經網路(CNN)成為了神經網路主流,

  而網路各層求導的鏈式規則,乘積項隨著層數的增加而增加,使用傳統的激勵函式,因為激勵函式的導數大多情況接近于0,很容易陷入梯度消失,過渡帶的導數很大會導致可能存在另外一個極端梯度爆炸,這些對于引數訓練都是很不利的,要么學習緩慢,要么跳躍過大,

  于是,我們用以下稱為Relu的激勵函式來代替

  乃至還有一些別的變種,比如PRelu、LRelu等,

  另外,引入了池化這樣的降維操作,這在降維的同時多少為網路帶來了一定的旋轉不變性,

  

 

 

   上面就是一個最大池化,有的時候也會用到平均池化,但要注意,最大池話是非線性操作,使用的場合可能會多一些,

 

 

  于是,以上卷積神經網路的基本零件已經有了,由卷積、激勵函式、池化等構成了特征提取層,用于產生必要的特征資訊,而使用一層或多層的全連接用于邏輯輸出,稱為邏輯層,

 

  

 

 

  而作為分類系統,一般來說,最終輸出采用one-hot編碼,這樣比較對稱,也就是,如果是n分類,網路最終輸出就是一個n維向量,

 

  LeNet

 

  

 

 

 

  卷積網路早期的經典,用于處理手寫識別, LeNet用的都是5x5的卷積核,每個卷積后面跟一個2x2的不重疊的最大池化,

   另外,C3層是對16個14x14的featuremap分批卷積的,論文描述了這樣做的好處:

  (1)引數減少

  (2)非對稱結構有利于提供多種組合特征

  順便提一下,著名的minist資料集就是一個手寫識別0-9這10個數字的資料集,一般用于入門,

 

  雖然對于英文手寫識別系統可以很好的應用,但是該網路并不太適用于不斷出現的新的應用,

  對于LeNet的擴展也未必那么容易,從而迫切需要新的改良出現,以便適用于不斷出現的參考,

   ImageNet從2010年開始的ILSVRC競賽也為所有團隊提供了動力,

  于是,DL技術就這樣開始不斷進步了,

 

  AlexNet

 

  AlexNet是2012年ILSVRC的冠軍,這是一個引數很多的網路,第一個卷積層的卷積核是11x11,后面的全連接很大,它有很多創新點:

  (1)這是經典里第一個引入Relu作為激勵函式以對抗梯度消失的網路,

  (2)特征提取層理有上下兩個獨立的group,從而可以并行,作者就是在特征提取里使用兩個GPU來并行作業,

  (3)采用區域相應歸一化LRN(Local Response Normalization),這是受真實的神經網路啟發之后產生歸一化的思想,歸一化的思想說白了就是用多個輸入張量統一調整調整當前輸入張量,歸一化之前,整體的BP學習演算法對于稍微深一點的網路甚至不太現實,最開始的深度學習模型都是一層一層學習的,歸一化思想讓整體的BP學習成為了現實,

  

  雖然后面出現的網路VGG的作者就發現LRN似乎對VGG沒有什么作用,現在LRN作為一種技術已經很少使用甚至淘汰,但是歸一化的思想卻一直都在,

  (4)不同于LeNet的最大池化尺寸2x2步長2,引入重疊池化,最大池化尺寸3x3步長2,雖然產生了基本一樣尺寸的輸出,但實驗表示,這樣的效果會好一些,

  (5)引入dropout學習機制,在學習程序中隨機拋棄全連接層(邏輯層)的部分神經連接,以減少過擬合(overfitting),

  

 

   以上基本上都是AlexNet獨立的開創,為后面網路產生了很大的影響,

 

  GoolgLeNet

 

  你沒有想錯,這個網路是Google設計的,作為AI的先驅,Google是必然有份的,另外,里面有個L大寫,我也沒有寫錯,那是Google為了向經典網路LeNet致敬,

  

  

 

   GoogLeNet作為2014年ILSVRC的冠軍,是模塊化設計的經典之作,

  模塊化在于它創造了以下這樣稱為Inception的模塊

  

 

   影像的識別有個視野問題,于是Inception采用1x1、3x3、5x5卷積乃至3x3最大池化是對于型相同的feature map不同的視野,不同尺度的特征提取,再拼接在一起,這樣,不同尺度的特征提取就放在一起了,這樣的思想的確很贊,

   之后,為了降低引數數量,采用1x1卷積來降維,從而模塊變成了這樣:

  

 

   模塊化的設計思想,便于網路修改,GooLeNet用平均池化代替了全連接,但為了方便大家fine-tune,最侄訓是提供了一個全連接層,dropput依然在此網路中使用,為了對抗梯度消失,網路中間引入了兩個輔助的softmax輸出用于觀察,所以我們看到整個網路上面還有兩個輸出,

  歸一化的思想依舊得到延續,Inception V2里創造了Batch Normalization,用于替代之前的LRN,

  

 

   將n張輸入張量(圖片)組成一個稱之為mini-batch的東西,用每個張量相同位置的值來統一歸一化每個張量在這個位置的值,

  BN成了后來神經網路的標配,一直延續了下來,

 

  在接下來的版本Inception V3里,繼續想辦法減少引數,縮小網路規模,

  

   上面就是用兩個3x3卷積核來替代一個5x5的原理,兩個3x3的視野和5x5的視野一致,

  

 

 

   有了這樣的嘗試,后面的卷積神經網路基本都是3x3的小核,不再使用大核,

  這樣,仍然不滿足,進一步降低引數,

  

   以上用1x3和3x1兩個卷積核串聯出3x3的視野,進一步降低引數數量,

 

 

 

  為減少feature map尺寸提供一種雙縫結構

 

    

 

 

   一邊卷積過去,另外一側池化過去,再拼接,

  后來,Inception給出了第四個版本,雖然這個版本對模塊做了一些固化,但可圈可點的地方不像前三個版本這么多,

 

  ResNet

  

  既然是Deep Learning,自然網路還是奔著深度的方向去的,也只有網路變的更深才可以有更靈活的模擬能力,之前的很多措施,Relu也好,歸一化也罷,dropout,切成小核等等,要么是為了防止梯度例外,要么就是為了對抗過擬合,引數過多,然后最終都是想把網路做深以期望更好的效果,

  ResNet是第一個真正意義上讓Deep Learning名符其實的網路,

  ResNet從殘差分析(Residual Analysis)中受到啟發,引入殘差概念,也就是幾層之后的feature map和之前的feature map作和,如圖:

  

 

 

   
  ResNet依然是模塊化設計,上面weight layer是卷積層,引入Relu,是為了讓F(x)引入非線性因素,單個卷積層做殘差沒有意義,因為它與單個卷積是等價的,

  當然,也可以適用更深層次的殘差模塊,加法跨越的層次可以更多一點,

  

 

 

 

  為什么可以實作真正意義上的深度學習呢?說白了,我們最根源的需求是為了對抗梯度消失才可以使得網路變深而可學習

  而上面鏈式求導規則里的這個后面的紅色的1,就是防止梯度消失秘密武器的原理,

  引入上述結構極大程度級訓了梯度消失的發生,從而可以把網路做的更深,從此,開啟了爆走模式,

  

 

 

  由此,百層網路也不再是大問題,

  ResNet V2相比V1有了一些模塊上的改動

 

  但這些都不是大的本質變化,而ResNet的參差方法卻一直被后世的網路引入,從此神經網路真正意義上進入了Deep Learning時代,

 

  網路發展方向

 

  隨著嵌入式的發展,很多AI的應用可以放到嵌入式設備上面來,因為嵌入式設備的資源限制,這就迫切的使得網路要往計算量、資料量輕量級的方向發展,

  實際上,硬體資源是有限的,運算速度也是追求的方向,我們在GoogLeNet上就看到了為引數縮減所做的努力,

  后面的出現的一些輕量級網路某些程度上是希望“掏空”神經元,從而往著引數更加少的方向進行,但同時而網路graph更加復雜意味著網路的表達能力更加強大,

 

 

   以上是一個目標檢測(Object Detection)的小型網路,可以看出其網路的連接比直線型的要怪異很多,引數雖少,但網路更為復雜,

 

  DenseNet

  

  受Resnet的啟發,提出了dense block模塊,每個dense block里的任何兩層之間都有連接,從而有著比ResNet更加密集的殘差,

  以下是一個dense block

  

 

  整個網路是由數個dense block以及其他的卷積、池化、全連接等層拼接而成:

 

 

  SqueezeNet

 

  SqueezeNet引入了一個叫Fire Module的模塊,用的都是小尺寸卷積,甚至1x1卷積,

  

 

   同樣受ResNet啟發,引入bypass結構,本質上就是ResNet的Residual block

  

 

   

  MobileNet

  

  MobileNet改造了卷積,引入了Depthwise Convolution,

  普通卷積為大家所熟悉,對于每個卷積核,所有的源feature map都參與卷積,計算量較大,

   

 

 

   而depthwise卷積長這樣

 

 

  卷積核就這么被降維了,一個featuremap單獨產生一個featuremap,卷積不改變featuremap個數,不同featuremap之間在卷積中不產生直接作用,

  如果想改變featuremap個數,可以在后面接上Pointwise Convolution,說白了就是1x1卷積核的卷積,

  因為Depthwise Convolution的參與,MobileNet做到了更少的引數,而Depthwise Convolution本質上是Group Convolution的極端形式,所謂Group Convolution就是把傳入的featuremap分組,然后每一組以普通卷積的形式計算,然后整體輸出,然而,Group Convolution此時也并非新概念,早在AlexNet時,我們回憶一下這兩個并行,實際上就是Group Convolution,

 

  甚至在LeNet中的C3層里,Group Convolution就已經在使用,

 

  MobileNet這是一種在嵌入式上使用較多的網路,被使用在了各種場合,所以叫MobileNet,

 

 

 

 

  ShuffleNet

 

  ShuffleNet也一樣,引入DepthWise Convolution和Group Convolution,

 

 

 

   之所以叫ShuffleNet,在于網路從中間引入shuffle,將各組feature map重新分組送入下一輪分組卷積

  

 

   之前MobileNet采用1x1卷積將不同的featuremap關聯在一起,而這里只是簡單的用shuffle來進行資訊滲透,不產生計算量,以之達到類似的效果,

 

  結尾

  

  一些前期網路開發的技識訓被后期的網路繼續傳承,而效率不高的技識訓導致淘汰或被修改,

  目前DL很火熱,未來的AI技識訓是什么樣子?神經網路是我們終極的AI模型嗎?符號主義、行為主義、連接主義最侄訓徹底的互相滲透嗎?讓我們拭目以待,

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

標籤:其他

上一篇:構建物件檢測模型

下一篇:【轉載】單執行緒Redis性能為何如此之高?

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