深度學(xué)習(xí)技術(shù)基礎(chǔ)與實踐 課件 第3章-深度學(xué)習(xí)框架介紹_第1頁
深度學(xué)習(xí)技術(shù)基礎(chǔ)與實踐 課件 第3章-深度學(xué)習(xí)框架介紹_第2頁
深度學(xué)習(xí)技術(shù)基礎(chǔ)與實踐 課件 第3章-深度學(xué)習(xí)框架介紹_第3頁
深度學(xué)習(xí)技術(shù)基礎(chǔ)與實踐 課件 第3章-深度學(xué)習(xí)框架介紹_第4頁
深度學(xué)習(xí)技術(shù)基礎(chǔ)與實踐 課件 第3章-深度學(xué)習(xí)框架介紹_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第3章深度學(xué)習(xí)框架介紹授課教師:時

間:

目錄3.13.23.3MindSpore介紹TensorFlow介紹概述深度學(xué)習(xí)框架總覽框架簡介、環(huán)境安裝和配置框架簡介、環(huán)境安裝和配置

目錄3.43.5PyTorch介紹如何選擇好的框架框架簡介、環(huán)境安裝和配置3.11概述深度學(xué)習(xí)框架總覽目前,應(yīng)用最廣泛的深度學(xué)習(xí)框架有TensorFlow、PyTorch、PaddlePaddle、Caffe、MXNet等,也有如MindSpore這類的新起之秀。表3.1展示了至2021年9月Github上相關(guān)深度學(xué)習(xí)框架的具體信息。表3.1:深度學(xué)習(xí)框架總覽MindSpore的驅(qū)動前提為了減小從學(xué)術(shù)研究到工業(yè)生產(chǎn)之間存在的巨大鴻溝,提出了驅(qū)動人工智能(AI)框架演進(jìn)的五大因素:“ABCDE”。Application+BigData:AI模型和數(shù)據(jù)大模型+大數(shù)據(jù)(GPT-3參數(shù)達(dá)1750億);從單一的NN向通用AI和科學(xué)計算演進(jìn)。Chip:AI芯片和算力芯片/集群性能持續(xù)提升(E級人工智能算力集群);CPU/GPU/NPU多樣化異構(gòu)算力。Developer:算法開發(fā)工程師關(guān)注算法創(chuàng)新,系統(tǒng)性能優(yōu)化動力不足;算法迭代快,需要邊界的調(diào)試調(diào)優(yōu)能力。Enterprise:AI部署+AI責(zé)任企業(yè)部署注重安全、隱私保護(hù);AI產(chǎn)品的廣泛應(yīng)用面臨公平性、可解釋挑戰(zhàn)。3.22MindSpore介紹3.2.1框架簡介2018年華為公司全聯(lián)接大會上提出了人工智能面臨的十大挑戰(zhàn):1.模型訓(xùn)練方面:深度學(xué)習(xí)模型訓(xùn)練時間少則數(shù)日,多則數(shù)月;2.算力方面:目前GPU算力稀缺且昂貴,算力仍然是制約現(xiàn)階段深度學(xué)習(xí)發(fā)展的瓶頸之一;3.人工智能部署方面:主要在云,少量在邊緣;4.

算法方面:目前的訓(xùn)練算法主要誕生于上世紀(jì)80年代,數(shù)據(jù)需求量大,計算能效較高,算法的可解釋較差;5.人工智能自動化方面:仍然面臨沒有人工就沒有智能的現(xiàn)狀;6.面向?qū)嶋H應(yīng)用方面:模型的實際應(yīng)用相對較少,工業(yè)應(yīng)用不足;7.模型更新方面:模型參數(shù)非實時更新;8.多技術(shù)協(xié)同方面:現(xiàn)有的模型與其他技術(shù)集成不充分;9.平臺支持方面:現(xiàn)有的模型訓(xùn)練是一項需要高級技能,難度較高的工作;10.相關(guān)人才獲得方面:目前的數(shù)據(jù)科學(xué)家稀缺,人才儲備不足。3.2.1框架簡介2020年3月28日,華為發(fā)布了新一代人工智能框架MindSpore,發(fā)布MindSporev0.1.0-alpha版本。2020年4月-8月,華為發(fā)布了V0.2.0-V0.7.0版本。2020年9月,華為發(fā)布了V1.0.0正式版本。在該版本中,MindSpore提供了所見即所得的模型開發(fā)和調(diào)優(yōu)套件,同時也提供了40多個典型的高性能模型,覆蓋了計算機(jī)視覺、自然語言處理、推薦系統(tǒng)等多個領(lǐng)域。2021年9月,MindSpore已迭代更新至V1.3.0版本,支持增量推理模型部署,圖計算融合加速網(wǎng)絡(luò)訓(xùn)練等新的特性。3.2.2環(huán)境安裝與配置下載Miniconda圖3.1:在官網(wǎng)上下載對應(yīng)的安裝版本3.2.2環(huán)境安裝與配置下載Miniconda圖3.2:Miniconda安裝成功界面3.2.2環(huán)境安裝與配置MindSpore的正常運行依賴Python3.7.5運行環(huán)境,利用Miniconda創(chuàng)建一個符合該版本要求的Python虛擬環(huán)境。在AnacondaPrompt(Miniconda)中,鍵入以下命令創(chuàng)建Python虛擬環(huán)境:圖3.3:虛擬環(huán)境創(chuàng)建成功界面若虛擬環(huán)境安裝成功,則Prompt界面如圖3.3所示,可以利用condaactivatemindspore

和condadeactivatemindspore激活或退出MindSpore虛擬環(huán)境。3.2.2環(huán)境安裝與配置在Promt中鍵入condaactivatemindspore激活創(chuàng)建成功的虛擬環(huán)境,若環(huán)境成功激活,則命令符前括號中的字母應(yīng)變更為“minspore”,激活成功界面如圖3.4所示。圖3.4:虛擬環(huán)境激活成功界面3.2.2環(huán)境安裝與配置圖3.5:MindSpore官網(wǎng)版本下載界面MindSpore的安裝十分簡單。MindSpore官網(wǎng)下載頁面如圖3.5所示,用戶只需根據(jù)適合的環(huán)境條件下載相應(yīng)的安裝包或使用云平臺即可創(chuàng)建和部署該框架。3.2.2環(huán)境安裝與配置圖3.6:MindSpore

安裝成功界面以MindSpore1.3.0CPU版本為例,通過Python自帶的軟件包安裝工具pip,即可實現(xiàn)MindSpore的快速安裝。程序安裝完成界面如圖3.6所示。3.2.3MindSpore實現(xiàn)簡單神經(jīng)網(wǎng)絡(luò)代碼1:引入MindSporeAPI使用MindSpore框架訓(xùn)練模型前需要引入MindSporeAPI來輔助實現(xiàn)對應(yīng)的功能,例如nn庫中提供了用于構(gòu)建神經(jīng)網(wǎng)絡(luò)的預(yù)定義構(gòu)建模塊和計算單元;Model庫用于模型訓(xùn)練和測試;callback庫用于保存模型的信息等,實踐案例如代碼1所示。3.2.3MindSpore實現(xiàn)簡單神經(jīng)網(wǎng)絡(luò)代碼2:定義神經(jīng)網(wǎng)絡(luò)模型使用MindSpore框架定義神經(jīng)網(wǎng)絡(luò)模型時,需要繼承MindSpore的Cell類,它是構(gòu)建所有網(wǎng)絡(luò)的基類,也是網(wǎng)絡(luò)的基本單元。同時,還需要根據(jù)模型的設(shè)計來重寫__init__方法和construct方法。3.2.3MindSpore實現(xiàn)簡單神經(jīng)網(wǎng)絡(luò)代碼2:定義神經(jīng)網(wǎng)絡(luò)模型代碼2中,__init__中提到的Conv2d代表卷積函數(shù),用于提取特征;ReLU代表非線性激活函數(shù),用于學(xué)習(xí)各種復(fù)雜的特征;MaxPool2d代表最大池化函數(shù),用于降采樣;Flatten將多維數(shù)組轉(zhuǎn)化為1維數(shù)組;Dense用于矩陣的線性變換。construct中則是用定義好的運算實現(xiàn)網(wǎng)絡(luò)的前向傳播過程。3.2.3MindSpore實現(xiàn)簡單神經(jīng)網(wǎng)絡(luò)代碼3:加載數(shù)據(jù)和定義模型參數(shù)定義了神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之后,就需要加載訓(xùn)練需要用到的數(shù)據(jù)集和定義模型的超參數(shù)。train_epoch表示所有數(shù)據(jù)在網(wǎng)絡(luò)模型中完成了前向計算和反向傳播的次數(shù);lr代表學(xué)習(xí)率,決定了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)問題的快慢;momentum是動量算法(與隨機(jī)梯度下降算法類似)中的一個參數(shù);net_loss定義了模型的損失函數(shù),反映了模型的預(yù)測值和真實值的差距,此處選用的是交叉熵?fù)p失函數(shù);net_opt定義了模型的優(yōu)化算法,用于更新模型中的參數(shù)。3.2.3MindSpore實現(xiàn)簡單神經(jīng)網(wǎng)絡(luò)代碼4:訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型最后一步是初始化神經(jīng)網(wǎng)絡(luò),再將模型超參數(shù)、神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)、損失函數(shù)、模型優(yōu)化器和評價指標(biāo)等一同傳給網(wǎng)絡(luò)模型,通過調(diào)用模型的train函數(shù)正式開始模型的訓(xùn)練。3.33TensorFlow介紹3.3.1框架簡介隨著2016年3月AlphaGo戰(zhàn)勝李世石,深度學(xué)習(xí)和人工智能等概念迅速進(jìn)入大眾的視野。而TensorFlow是AlphaGo擁有如此強(qiáng)大能力的基礎(chǔ),它是Google公司在2015年11月開源的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的框架。TensorFlow深度學(xué)習(xí)框架的前身是Distbelief——致力于構(gòu)建各個尺度下的神經(jīng)網(wǎng)絡(luò)分布式學(xué)習(xí)和交互系統(tǒng)的第一代機(jī)器學(xué)習(xí)系統(tǒng)框架。然而Distbelief功能模塊較少、配置和部署復(fù)雜、使用復(fù)雜,所以沒能大規(guī)模推廣。后來隨著對Distbelief的代碼庫的簡化和重構(gòu),使其變成一個性能和健壯性都更高的開源深度學(xué)習(xí)框架,形成了TensorFlow。TensorFlow可以實現(xiàn)絕大多數(shù)場景下的各種深度學(xué)習(xí)算法,提供了多種語言的編程API,例如Python,C++等。其不僅可以在Windows和Linux操作系統(tǒng)中運行,還支持谷歌云等云服務(wù)計算。3.3.1框架簡介2019年6月TensorFlow2.0正式發(fā)布,相比早期TensorFlow的一些弊端進(jìn)行了改造,形成了它的六大優(yōu)勢:易用性:提供各種層次的基本操作API,可以實現(xiàn)絕大多數(shù)場景下的各種深度學(xué)習(xí)算法。高性能:隨著發(fā)展和優(yōu)化,TensorFlow在主流深度學(xué)習(xí)訓(xùn)練框架中性能一直處于領(lǐng)先地位。移動端支持:移動端可以使用TensorFlowLite進(jìn)行訓(xùn)練。Web端支持:Google公司發(fā)布的tensorflow.js支持深度學(xué)習(xí)訓(xùn)練模型在Web端發(fā)布和操作。可視化:訓(xùn)練中間過程和最終結(jié)果的可視化展示被設(shè)計為一個通用格式的數(shù)據(jù)渲染服務(wù)層。任何其他深度學(xué)習(xí)框架可以通過生成通用格式的文件由TensorFlow進(jìn)行可視化展示。分布式訓(xùn)練:TensorFlow框架被設(shè)計之初就具有分布式計算的特性,與數(shù)據(jù)并行計算的架構(gòu)相比,該框架在RDMA節(jié)點通信方面具有明顯的優(yōu)勢。3.3.2環(huán)境安裝與配置安裝JDK8安裝過程中會出現(xiàn)選擇服務(wù)條款,選擇“是”3.3.2環(huán)境安裝與配置測試JDK8是否安裝成功顯示以下內(nèi)容為安裝成功3.3.2環(huán)境安裝與配置下載安裝Bazel依賴庫在Github的Bazel發(fā)布頁面下載Bazel二進(jìn)制安裝文件安裝Bazel3.3.2環(huán)境安裝與配置安裝支持GPU驅(qū)動在CudaToolkit官網(wǎng)下載cuDNN安裝包3.3.2環(huán)境安裝與配置解壓安裝cuDNN查看cuDNN版本3.44PyTorch介紹3.4.1框架簡介PyTorch是由Facebook公司開發(fā)并發(fā)布的開源深度學(xué)習(xí)框架。于2016年發(fā)布。最初版本的PyTorch模塊單一,對張量的計算操作較少。隨著版本迭代,逐步形成了當(dāng)前這種功能豐富、簡潔高效的深度學(xué)習(xí)框架。PyTorch最顯著的四個特點是簡潔、高效、概念簡單以及社區(qū)活躍。該框架采用了少抽象的設(shè)計理念,盡量采用Python語言的語法結(jié)構(gòu),而不是創(chuàng)造全新的抽象概念,在編程效率和可讀性方面都具有較大的優(yōu)勢。但這種靈活性沒有犧牲程序運行效率。PyTorch在學(xué)術(shù)界和工業(yè)界都得到了廣泛的應(yīng)用,躋身當(dāng)今最受歡迎的深度學(xué)習(xí)框架之一。3.4.2環(huán)境安裝與配置創(chuàng)建虛擬環(huán)境激活該環(huán)境安裝PyTorch監(jiān)測是否安裝成功3.55如何選擇好的框架3.5如何選擇好的框架不同的深度學(xué)習(xí)工具在性能、功能各方面表現(xiàn)迥異,如何挑選出一款適合自己的工具呢?下面給出一些選擇時可以參考的因素:MindSpore作為面向不同經(jīng)驗人工智能開發(fā)者的一站式開發(fā)平臺,具有易上手、高性能、靈活的特點。TensorFlow社區(qū)資源豐富,用戶群體大,如果要實現(xiàn)的模型是一個比較經(jīng)典的模型

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論