2022CANN訓練營新手模型開發課學習筆記

      網友投稿 819 2022-05-29

      2022CANN訓練營新手模型開發課學習筆記

      開營直播

      模型相比應用的課程有些吃力,需要額外補充些知識。

      Python 編程經驗

      使用位置和關鍵字參數定義和調用函數

      字典、列表、集合(創建、訪問和迭代)

      for 循環, for 具有多個迭代器變量的循環(例如,for a, b in [(1,2), (3,4)])

      if/else 條件塊和條件表達式

      字符串格式(例如,’%.2f’ % 3.14)

      變量、賦值、基本數據類型(int, float, bool, str 等)

      深度學習和神經網絡

      為了讓計算機掌握人類理解的知識,需要構筑一個由簡單概念組成的多層連接網絡來定義復雜對象,計算機通過對這個網絡的迭代計算與訓練后,可以掌握這個對象的特征,一般稱這種方法為深度學習(DeepLearning,DL)

      TensorFlow AI 框架

      昇騰AI全棧架構

      昇騰AI 全棧可以分成四個大部分:

      應用使能層面,此層面通常包含用于部署模型的軟硬件,例如API、SDK、部署平臺,模型庫等等。

      AI 框架層面,此層面包含用于構建模型的訓練框架,例如昇思MindSpore、TensorFlow、Pytorch 等。

      AI框架層:端、邊、云獨立協同的統一訓練和推理框架

      2022CANN訓練營新手模型開發課學習筆記

      異構計算架構CANN,偏底層、偏通用的計算框架,用于針對上層AI 框架的調用進行加速,力求向上支持多種AI 框架,并在硬件上進行加速。

      芯片使能層:計算加速庫、芯片算子庫和高度自動化的算子開發工具。CANN

      計算硬件,本層是AI 計算的底座,有了強力的芯片及硬件設備,上層的加速才有實施的基礎。

      芯片層:基于統一、可擴展架構的系列化AI IP和芯片

      異構計算架構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)等。

      基于CANN 的模型開發流程

      模型遷移

      除了昇思MindSpore 外,TensorFlow 等其他深度學習框架下的模型并不能直接在昇騰910 AI 處理器上訓練,為了使其充分利用昇騰910AI處理器的澎湃算力來提升訓練性能,我們需要借助異構計算架構CANN 的Plugin適配層轉換,使轉換后的模型能夠高效運行在昇騰910AI處理器上。

      值得慶幸的是,目前,CANN 已經能夠支持多種主流AI 框架,包括昇思MindSpore、TensorFlow、PyTorch、飛漿、ONNX 等,并且開發者只需要非常少的改動,即可快速搞定算法移植,大大減少切換平臺的代價。

      兩種模型遷移方式

      自動遷移方式。通過遷移工具對原始腳本進行AST 語法樹掃描,可自動分析原生的TensorFlow API 在昇騰AI 處理器上的支持度,并將原始的TensorFlow訓練腳本自動遷移成昇騰AI 處理器支持的腳本,對于無法自動遷移的API,可以參考工具輸出的遷移報告,對訓練腳本進行相應的適配修改。

      手工遷移方式。算法工程師需要人工分析TensorFlow 訓練腳本中的API 支持度情況,并且參照文檔逐一手工修改不支持的API,以便在昇騰AI 處理器上訓練,該種方式較為復雜,我們建議大家優先使用自動遷移方式。

      AI 昇騰 機器學習

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:Android NDK開發指南---Application.mk文件
      下一篇:Java開發規約
      相關文章
      亚洲国产精品无码久久久久久曰| 亚洲国产精品无码一线岛国| 久久亚洲色一区二区三区| 在线精品亚洲一区二区| 亚洲另类春色校园小说| 久久精品国产亚洲av麻豆小说| 亚洲AV本道一区二区三区四区| 精品亚洲综合在线第一区| 亚洲人成影院在线无码按摩店| 亚洲综合色视频在线观看| 亚洲综合色视频在线观看| 青青草原亚洲视频| 中文字幕亚洲乱码熟女一区二区 | 久久精品国产亚洲av成人| 亚洲人成网站在线播放vr| 亚洲人成色777777在线观看| 亚洲色中文字幕无码AV| 国产亚洲人成无码网在线观看| 亚洲精品无码国产| 亚洲av网址在线观看| 亚洲视频在线观看免费| 亚洲综合激情九月婷婷| 亚洲天堂福利视频| 亚洲永久在线观看| 亚洲av中文无码乱人伦在线观看 | 亚洲精品无码专区| 久久久久久久久无码精品亚洲日韩| 亚洲AⅤ男人的天堂在线观看| 国产精品久久亚洲一区二区| 亚洲国产精品人人做人人爱| 久久综合亚洲色HEZYO国产| 亚洲国产精品无码成人片久久| 亚洲国产成人久久综合一| 亚洲综合无码一区二区三区| 亚洲综合校园春色| 亚洲av成人片在线观看| JLZZJLZZ亚洲乱熟无码| 亚洲va无码专区国产乱码| 亚洲福利视频网址| 亚洲日本久久久午夜精品| 亚洲AV成人无码网站|