2022CANN訓練營新手應用開發課學習筆記
2022CANN訓練營新手應用開發課學習筆記
去年看到了CANN的訓練營,奈何當時事情比較多,再加上還沒接觸過深度學習的相關知識,沒能跟上,最后課程和獎品都錯過了。今年決定報一下名,希望這次可以跟上。(PS:要補的東西好多啊)。
開營打個卡
還是熟悉的大佬講解,這次的課程分成三個班,從基礎到進階。看看自己能吸收多少吧。
華為云賬號:sunxiaobei
班級:新手1班應用開發課
初級應用開發1
云服務環境申請&AI 應用體驗
(1)獲取華為云帳號及項目ID,獲得推送云環境鏡像
(2)使用代金券購買ECS 云環境,以便獲取到編譯、運行應用的環境
(3)SSH 方式遠程登錄到該服務器
初級應用開發2
為了讓計算機掌握人類理解的知識,需要構筑一個由簡單概念組成的多層連接網絡來
定義復雜對象,計算機通過對這個網絡的迭代計算與訓練后,可以掌握這個對象的特
征,一般稱這種方法為深度學習(DeepLearning,DL)。
異構計算架構CANN
華為公司面向計算機視覺、自然語言處理、推薦系統、類機器人等領域量身打造了基于“達芬奇(DaVinci)架構”的昇騰(Ascend)AI 處理器,開啟了智能之旅。為提升用戶開發效率和釋放昇騰AI 處理器澎湃算力,同步推出針對AI 場景的異構計算架構CANN(Compute Architecture for Neural Networks),CANN 通過提供多層次的編程接口,以全場景、低門檻、高性能的優勢,支持用戶快速構建基于Ascend 平臺的AI 應用和業務。
昇騰AI 異構計算架構(Compute Architecture for Neural Networks,CANN)被抽象成五層架構,如下圖所示。
昇騰計算語言接口(AscendCL)
昇騰計算語言(Ascend Computing Language,AscendCL)接口是昇騰計算開放編程框架,是對低層昇騰計算服務接口的封裝。它提供Device(設備)管理、Context(上下文)管理、Stream(流)管理、內存管理、模型加載與執行、算子加載與執行、媒體數據處理、Graph(圖)管理等API 庫,供用戶開發人工智能應用調用。
昇騰計算服務層
主要提供昇騰計算庫,例如神經網絡(Neural Network,NN)庫、線性代數計算庫(Basic Linear Algebra Subprograms,BLAS)等;昇騰計算調優引擎庫,例如算子調優、子圖調優、梯度調優、模型壓縮以及AI 框架適配器。
昇騰計算編譯引擎
主要提供圖編譯器(Graph Compiler)和TBE(Tensor Boost Engine)算子開發支持。前者將用戶輸入中間表達(Intermediate Representation,IR)的計算圖編譯成NPU 運行的模型。后者提供用戶開發自定義算子所需的工具。
昇騰計算執行引擎
負責模型和算子的執行,提供如運行時(Runtime)庫(執行內存分配、模型管理、數據收發等)、圖執行器(Graph Executor)、數字視覺預處理(Digital Vision Pre-Processing,DVPP)、人工智能預處理(Artificial Intelligence Pre-Processing,AIPP)、華為集合通信庫(Huawei Collective Communication Library,HCCL)等功能單元。
昇騰計算基礎層
主要為其上各層提供基礎服務,如共享虛擬內存(Shared Virtual Memory,SVM)、設備虛擬化(Virtual Machine,VM)、主機-設備通信(Host Device Communication,HDC)等。
昇騰計算語言接口AscendCL
AscendCL(Ascend Computing Language,昇騰計算語言)是昇騰計算開放編程框架,是對底層昇騰計算服務接口的封裝,它提供運行時資源(例如設備、內存等)管理、模型加載與執行、算子加載與執行、圖片數據編解碼/裁剪/縮放處理等API 庫,實現在昇騰CANN 平臺上進行深度學習推理計算、圖形圖像預處理、單算子加速計算等能力。簡單來說,就是統一的API 框架,實現對所有資源的調用。
AscendCL 優勢:
高度抽象:算子編譯、加載、執行的API 歸一,相比每個算子一個API,AscendCL 大幅減少API 數量,降低復雜度。
向后兼容:AscendCL 具備向后兼容,確保軟件升級后,基于舊版本編譯的程序依然可以在新版本上運行。
零感知芯片:一套AscendCL 接口可以實現應用代碼統一,多款昇騰處理器無差異。
AscendCL 應用場景:
開發應用:用戶可以直接調用AscendCL 提供的接口開發圖片分類應用、目標識別應用等。
供第三方框架調用:用戶可以通過第三方框架調用AscendCL 接口,以便使用昇騰AI 處理器的計算能力。
供第三方開發lib 庫:用戶還可以使用AscendCL 封裝實現第三方lib 庫,以便提供昇騰AI 處理器的運行管理、資源管理等能力。
初級應用開發3
圖片分類應用開發過程
圖片分類應用:按圖片所屬的類別來區分圖片。
置信度是指圖片所屬某個類別可能性。
編碼格式為RGB、分辨率為224*224。
AI 昇騰 機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。