網(wǎng)友評(píng)分: 5分
Matlab2017b破解版是一款非常好用的商業(yè)數(shù)學(xué)軟件,此版本包括MATLAB和Simulink的若干新功能、六款新產(chǎn)品以及對(duì)其他86款產(chǎn)品的更新和修復(fù)補(bǔ)丁,軟件從數(shù)據(jù)標(biāo)注、模型搭建、訓(xùn)練與推斷還有最后的模型部署方面都能夠完整地支持深度學(xué)習(xí)開(kāi)發(fā)流程。
1、【深度學(xué)習(xí)支持】
R2017b中的具體深度學(xué)習(xí)特性、產(chǎn)品和功能包括:
Neural Network Toolbox增加了對(duì)復(fù)雜架構(gòu)的支持,包括有向無(wú)環(huán)圖(DAG)和長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò),并提供對(duì) GoogLeNet 等流行的預(yù)訓(xùn)練模型的訪問(wèn)。
Computer Vision System Toolbox中的Image Labeler應(yīng)用現(xiàn)在提供一種方便和交互的方式來(lái)標(biāo)記一系列圖像中的地面實(shí)況數(shù)據(jù)。除對(duì)象檢測(cè)工作流程外,該工具箱現(xiàn)在還利用深度學(xué)習(xí)支持語(yǔ)義分割、對(duì)圖像中的像素區(qū)域進(jìn)行分類(lèi),以及評(píng)估和可視化分割結(jié)果。
新產(chǎn)品GPU Coder可自動(dòng)將深度學(xué)習(xí)模型轉(zhuǎn)換為NVIDIA GPU的CUDA代碼。內(nèi)部基準(zhǔn)測(cè)試顯示,在部署階段為深度學(xué)習(xí)模型產(chǎn)生的代碼,比TensorFlow的性能提高7倍,比Caffe2的性能提高4.5倍。
與R2017a推出的功能相結(jié)合,可以使用預(yù)訓(xùn)練模型進(jìn)行遷移學(xué)習(xí),包括卷積神經(jīng)網(wǎng)絡(luò)(CNN)模型(AlexNet、VGG-16 和 VGG-19)以及來(lái)自Caffe的模型(包括Caffe Model Zoo)??梢詮念^開(kāi)始開(kāi)發(fā)模型,包括使用CNN進(jìn)行圖像分類(lèi)、對(duì)象檢測(cè)、回歸等。
“隨著智能設(shè)備和物聯(lián)網(wǎng)的發(fā)展,設(shè)計(jì)團(tuán)隊(duì)面臨創(chuàng)造更加智能的產(chǎn)品和應(yīng)用的挑戰(zhàn),他們需要自己掌握深度學(xué)習(xí)技能或依賴(lài)其他具有深度學(xué)習(xí)專(zhuān)長(zhǎng)但可能不了解應(yīng)用場(chǎng)景的團(tuán)隊(duì),”MathWorks的MATLAB市場(chǎng)營(yíng)銷(xiāo)總監(jiān)David Rich表示,“借助R2017b,工程和系統(tǒng)集成團(tuán)隊(duì)可以將MATLAB拓展用于深度學(xué)習(xí),以更好地保持對(duì)整個(gè)設(shè)計(jì)過(guò)程的控制,并更快地實(shí)現(xiàn)更高質(zhì)量的設(shè)計(jì)。他們可以使用預(yù)訓(xùn)練網(wǎng)絡(luò),協(xié)作開(kāi)發(fā)代碼和模型,然后部署到GPU和嵌入式設(shè)備。使用MATLAB可以改進(jìn)結(jié)果質(zhì)量,同時(shí)通過(guò)自動(dòng)化地面實(shí)況標(biāo)記App來(lái)縮短模型開(kāi)發(fā)時(shí)間?!?2、其他更新:
除深度學(xué)習(xí)外,R2017b 還包括其他關(guān)鍵領(lǐng)域的一系列更新,包括:
使用MATLAB進(jìn)行數(shù)據(jù)分析
o一款新Text Analytics Toolbox 產(chǎn)品、可擴(kuò)展數(shù)據(jù)存儲(chǔ)、用于機(jī)器學(xué)習(xí)的更多大數(shù)據(jù)繪圖和算法,以及 Microsoft Azure Blob 存儲(chǔ)支持
使用Simulink進(jìn)行實(shí)時(shí)軟件建模
o對(duì)用于軟件環(huán)境的調(diào)度效果進(jìn)行建模并實(shí)現(xiàn)可插入式組件
使用 Simulink 進(jìn)行驗(yàn)證和確認(rèn)
o用于需求建模、測(cè)試覆蓋率分析和合規(guī)性檢查的新工具
2、【數(shù)據(jù)標(biāo)注】
對(duì)于計(jì)算機(jī)視覺(jué)來(lái)說(shuō),Computer Vision System Toolbox 中的 Ground Truth Labeler app 可提供一種交互式的方法半自動(dòng)地標(biāo)注一系列圖像。除了目標(biāo)檢測(cè)與定位外,該工具箱現(xiàn)在還支持語(yǔ)義分割,它能對(duì)圖像中的像素區(qū)域進(jìn)行分類(lèi)。陳建平說(shuō):「我們現(xiàn)在的標(biāo)注工具可以直接半自動(dòng)地完成任務(wù),它可以像 Photoshop 中的魔棒工具一樣自動(dòng)標(biāo)注出像素層級(jí)的類(lèi)別,我們選中圖片后工具會(huì)自動(dòng)將對(duì)象摳出來(lái)。在我們完成初始化的圖像語(yǔ)義分割后,工具會(huì)使用自動(dòng)化的手段把后續(xù)行駛過(guò)程中的其它元素都摳出來(lái)。因?yàn)橹虚g和后續(xù)過(guò)程都是以機(jī)器為主導(dǎo)完成的,所以我們只需要在前期使用少量的人力就能完成整個(gè)標(biāo)注過(guò)程。」
這種半自動(dòng)方法確實(shí)可以大大提升標(biāo)注的效率,特別是標(biāo)注車(chē)道邊界線和汽車(chē)邊界框等視覺(jué)系統(tǒng)目標(biāo)。在這種自動(dòng)標(biāo)注框架下,算法可以快速地完成整個(gè)數(shù)據(jù)集的標(biāo)注,而隨后我們只需要少量的監(jiān)督與驗(yàn)證就能構(gòu)建一個(gè)精確的數(shù)據(jù)集。如下所示,MATLAB 文檔向我們展示了如何創(chuàng)建車(chē)道線自動(dòng)標(biāo)注。
3、【模型構(gòu)建】
在模型構(gòu)建方面,Neural Network Toolbox 增加了對(duì)復(fù)雜架構(gòu)的支持,包括有向無(wú)環(huán)圖(DAG)和長(zhǎng)短期記憶(LSTM)網(wǎng)絡(luò)等,并提供對(duì) GoogLeNet 等流行的預(yù)訓(xùn)練模型的訪問(wèn)方式。陳建平表示:「其實(shí) MATLAB 在 2016 年的時(shí)候就已經(jīng)支持一些深度學(xué)習(xí)模型,而現(xiàn)在不僅支持 VGGNet 和 GoogleNet 等流行的預(yù)訓(xùn)練模型,同時(shí)還支持使用 Caffe Model Importer 直接從 Caffe 中導(dǎo)入。」
因?yàn)槲覀兛梢灾苯訌?Caffe Model Zoo 中導(dǎo)入各種優(yōu)秀與前沿的模型,所以 MATLAB 在模型方面可以提供廣泛的支持。但直接從 Caffe 中導(dǎo)入模型又會(huì)產(chǎn)生一個(gè)疑惑,即如果我們?cè)?Python 環(huán)境下使用 Caffe 構(gòu)建了一個(gè)模型,那么導(dǎo)入 MATLAB 是不是需要轉(zhuǎn)寫(xiě)代碼,會(huì)不會(huì)需要做一些額外的工作以完成導(dǎo)入?對(duì)此,陳建平解答到:「假設(shè)我們使用 Python 和 Caffe 完成了一個(gè)模型,并保存以 Caffe 格式,那么 Caffe Model Importer 會(huì)直接從保存的 Caffe 格式中讀取模型。在這個(gè)過(guò)程中,Caffe 并不需要為 MATLAB 做額外的工作,所有的轉(zhuǎn)換結(jié)果都是 MATLAB 完成的?!?/p>
在導(dǎo)入模型后,我們可以直接使用類(lèi)似于 Keras 的高級(jí) API 修改模型或重建模型。下面將簡(jiǎn)要介紹如何導(dǎo)入預(yù)訓(xùn)練 AlexNet,并修改完成遷移學(xué)習(xí)。
首先我們需要導(dǎo)入 AlexNet,如果 Neural Network Toolbox 中沒(méi)有安裝 AlexNet,那么軟件會(huì)提供下載地址。net =alexnet;net.Layers
上面的語(yǔ)句將導(dǎo)入 AlexNet,并如下所示展示整個(gè) CNN 的神經(jīng)網(wǎng)絡(luò)架構(gòu)。其中 MATLAB 會(huì)展示所有的操作層,每一層都給出了層級(jí)名、操作類(lèi)型和層級(jí)參數(shù)等關(guān)鍵信息。例如第二個(gè)操作層『conv1』表示一個(gè)卷積運(yùn)算,該運(yùn)算采用了 96 個(gè)卷積核,每一個(gè)卷積核的尺寸為 11×11×3、步幅為 4,該卷積運(yùn)算采用了padding。
這種描述不僅有利于我們了解整個(gè)神經(jīng)網(wǎng)絡(luò)的架構(gòu),同時(shí)還有助于調(diào)整架構(gòu)以匹配特定的任務(wù)。由上可知最后的全連接層、softmax 層和分類(lèi)輸出層是與 ImageNet 任務(wù)相關(guān)聯(lián)的配置,因此我們需要去除這三個(gè)層級(jí)并重新構(gòu)建與當(dāng)前任務(wù)相關(guān)聯(lián)的層級(jí)。MATLAB 可以十分簡(jiǎn)潔地實(shí)現(xiàn)這一過(guò)程:layersTransfer =net.Layers(1:end-3);numClasses =numel(categories(trainingImages.Labels))layers =[layersTransferfullyConnectedLayer(numClasses,'WeightLearnRateFactor',20,'BiasLearnRateFactor',20)softmaxLayerclassificationLayer];
由上面的代碼可知我們只提取了 AlexNet 預(yù)訓(xùn)練模型的前 22 層,而后依次新建了全連接層、softmax 層和分類(lèi)輸出層。完成整個(gè)層級(jí)重構(gòu)后,剩下的就只需使用以下代碼訓(xùn)練新的模型。其中 trainingImages 為當(dāng)前任務(wù)的訓(xùn)練樣本、layers 為前面修正的層級(jí),而 options 是我們?cè)O(shè)置的一組訓(xùn)練參數(shù),包括優(yōu)化算法、最小批量大小、初始化學(xué)習(xí)率、繪制訓(xùn)練過(guò)程和驗(yàn)證集配置等設(shè)定。
由上,我們發(fā)現(xiàn) MATLAB 的深度學(xué)習(xí)代碼非常簡(jiǎn)潔,調(diào)用高級(jí) API 能快速完成模型的搭建。陳建平說(shuō):「MATLAB 上的高級(jí) API 是一個(gè)完整的體系,它們完全是針對(duì)深度學(xué)習(xí)而設(shè)計(jì)的。當(dāng)然我們還是會(huì)用基礎(chǔ)的運(yùn)算,因?yàn)?MATLAB 這么多年的累積可以充分體現(xiàn)在基礎(chǔ)運(yùn)算上,但是深度學(xué)習(xí)這一套高級(jí) API 確實(shí)是新設(shè)計(jì)的?!?/p>
其實(shí)不只是 AlexNet,很多 Caffe 模型都能夠?qū)氲?MATLAB。那么,MATLAB 為什么會(huì)選擇 Caffe 作為對(duì)接的深度學(xué)習(xí)框架,而不是近來(lái)十分流行的 TensorFlow?
4、【訓(xùn)練與推斷】
對(duì)于模型訓(xùn)練來(lái)說(shuō),最重要的可能就是能支持大規(guī)模分布式訓(xùn)練。因?yàn)槟壳暗纳疃饶P投加蟹浅6嗟膮?shù)和層級(jí),每一次正向或反向傳播都擁有海量的矩陣運(yùn)算,所以這就要求 MATLAB 能高效地執(zhí)行并行運(yùn)算。當(dāng)然,我們知道 MATLAB 在并行運(yùn)算上有十分雄厚的累積,那么在硬件支持上,目前其支持 CPU 和 GPU 之間的自動(dòng)選擇、單塊 GPU、本地或計(jì)算機(jī)集群上的多塊 GPU。此外,由于近來(lái)采用大批量 SGD 進(jìn)行分布式訓(xùn)練的方法取得了十分優(yōu)秀的結(jié)果,我們可以使用 MATLAB 調(diào)用整個(gè)計(jì)算機(jī)集群上的 GPU,并使用層級(jí)對(duì)應(yīng)的適應(yīng)率縮放(Layer-wise Adaptive Rate Scaling/LARS)那樣的技術(shù)快速完成整個(gè)模型的訓(xùn)練。
在模型訓(xùn)練中,另外一個(gè)比較重要的部分就是可視化,我們需要可視化整個(gè)訓(xùn)練過(guò)程中的模型準(zhǔn)確度、訓(xùn)練損失、驗(yàn)證損失、收斂情況等信息。當(dāng)然 MATLAB 一直以來(lái)就十分重視可視化,在上例執(zhí)行遷移學(xué)習(xí)時(shí),我們也能得到整個(gè)訓(xùn)練過(guò)程的可視化信息。如下所示,上部分為訓(xùn)練準(zhǔn)確度和驗(yàn)證準(zhǔn)確度隨迭代數(shù)的變化趨勢(shì),下部分為訓(xùn)練損失和驗(yàn)證損失隨迭代數(shù)的變化趨勢(shì),該遷移學(xué)習(xí)基本上到第 3 個(gè) epoch 就已經(jīng)收斂。
對(duì)于推斷來(lái)說(shuō),新產(chǎn)品 GPU Coder 可自動(dòng)將深度學(xué)習(xí)模型轉(zhuǎn)換為 NVIDIA GPU 的 CUDA 代碼。內(nèi)部基準(zhǔn)測(cè)試顯示,GPU Coder 產(chǎn)生的 CUDA 代碼,比 TensorFlow 的性能提高 7 倍,比 Caffe2 的性能提高 4.5 倍。
5、【模型部署】
在 MATLAB 部署模型其實(shí)也很簡(jiǎn)單,MATLAB 很早就支持生成獨(dú)立于其開(kāi)發(fā)環(huán)境的其它語(yǔ)言,比如利用 MATLAB Coder 可以將 MATLAB 代碼轉(zhuǎn)換為 C 或 C++代碼。而該最新版提供了新的工具 GPU Coder,我們能利用它將生成的 CUDA 代碼部署到 GPU 中并進(jìn)行實(shí)時(shí)處理,這一點(diǎn)對(duì)于應(yīng)用場(chǎng)景是極其重要的。
1、安裝完成后,打開(kāi)破解文件夾“R2017b”,將將破解補(bǔ)丁復(fù)制到安裝目錄覆蓋源文件
將:“R2017b”復(fù)制到\MATLAB目錄下覆蓋源文件
將:“l(fā)icense_server.lic”和“l(fā)icense_standalone.lic”復(fù)制到\MATLAB\R2017b\licenses\目錄下
2、安裝完成,運(yùn)行桌面快捷方式就可以體驗(yàn)新版MATLAB2017B帶來(lái)的魅力了
標(biāo)簽: Matlab 科學(xué)計(jì)算器 數(shù)學(xué)建模
關(guān)于本站|下載幫助|下載聲明|軟件發(fā)布|聯(lián)系我們
Copyright ? 2005-2024 hanheng168.com.All rights reserved.
浙ICP備2024132706號(hào)-1 浙公網(wǎng)安備33038102330474號(hào)