版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2024-05-文檔版本01文檔版本01(2024-05-快速上 目目錄使用導 CANN是什 快速安裝 實踐:圖片分類任 實踐簡 模型遷移與訓 導出ONNX模 將ONNX模型轉換為OM模 模型加載與推 總 11文檔版本01文檔版本01(2024-05-3CANN以Atlas0訓練服務器(型號:)把手帶您在昇騰設備上快速搭建CANN境,然后以一個簡單的“圖片分類”任務,讓您快速了解基于CANN型進行推理的流程??焖侔惭b5實踐:圖片分類任(AscendComputingLanguage),進行圖形22昇文檔版本01文檔版本01(2024-05-2-1昇Atlas200AI加速模塊、Atlas300I推理卡(型號:3000)、Atlas300I推理卡(型號:3010)Atlas500智能小站、Atlas200DK開200/500A2推Atlas500A2智能小站、Atlas200IDKA2開發(fā)者套件、Atlas200IA2加速模塊Atlas推理系Ascend310PAtlas300IPro推理卡、Atlas300V視頻解析卡、Atlas300V視頻解析卡、Atlas300IDuo推理卡、Atlas200ISoCA1Atlas800IAtlas800IA2Atlas推理服Atlas500Pro智能邊緣服務器支持插入Atlas300I推理卡(型號:3000)、Atlas300IPro推理卡、Atlas300V視頻解析卡、Atlas300VPro視頻解析卡使用Atlas800推理服務器(型號:3000)支持插入Atlas300I(型號:3000)、Atlas300I推理卡(型號:3010)、Atlas300IPro推理卡、Atlas300V視頻解析卡、Atlas300VPro視頻解析卡、Atlas300IDuo推理卡使用Atlas800推理服務器(型號:3010)支持插入Atlas300I(型號:3010)、Atlas300IPro推理卡、Atlas300V視頻解析卡、Atlas300VPro視頻解析卡、Atlas300IDuo推理卡使用Atlas訓練系Atlas800訓練服務器(型號:9000)、Atlas800訓練服務器(型號:9010)、Atlas900PoD(型號:9000)、Atlas900TPoDLite、Atlas300T訓練卡(型號9000)、Atlas300TPro訓練卡(AtlasA2訓練Atlas800TA2訓練服務器、Atlas900A2PoDAtlas300TA2訓練卡、Atlas200TA2Box16昇騰產(chǎn)品以昇騰AI處理器的PCle(PeripheralComponentInterconnectExpress)的工RCAtlas200AIAtlas200DK開發(fā)者套件、Atlas200ISoCA1、Atlas500A2EP推理產(chǎn)品:Atlas500小站、Atlas200AI加速模塊、Atlas推理系列產(chǎn)品訓練產(chǎn)品:Atlas訓練系列產(chǎn)品、AtlasA2訓練系列(如Atlas300I推理卡)相連接的X86服務器或ARM服務器,利用昇騰AI處理器提33CANN文檔版本01文檔版本01(2024-05-CANN異構計算架構CANN(ComputeArchitectureforNeuralNetworks)是華為針對AI場
3-1CANN昇騰計算服務層(AscendComputingServiceLayer):主要提供昇騰算子庫AOL(AscendOperatorLibrary),通用神經(jīng)網(wǎng)絡(NeuralNetwork,NN)子加速計算;昇騰調(diào)優(yōu)引擎AOE(AscendOptimizationEngine),通過算子調(diào)速度。同時提供AI框架適配器FrameworkAdaptor用于兼容TensorFlow、PyTorch昇騰計算編譯層(AscendComputingCompilationLayer):昇騰計算編譯層通過圖編譯器(GraphCompiler)將用戶輸入中間表達(Intermediate擎TBE(TensorBoostEngine)的自動調(diào)度機制,高效編譯算子。昇騰計算執(zhí)行層(AscendComputingExecutionLayer):負責模型和算子的執(zhí)行,提供運行時庫(Runtime)、圖執(zhí)行器(GraphExecutor)、數(shù)字視覺預處理(DigitalVisionPre-Processing,DVPP)、人工智能預處理(ArtificialIntelligencePre-Processing,AIPP)、華為集合通信庫(HuaweiCollectiveCommunicationLibrary,HCCL)等功能單元。昇騰計算基礎層(AscendComputingBaseLayer):主要為其上各層提供基礎服務,如共享虛擬內(nèi)存(SharedVirtualMemory,SVM)、設備虛擬化(VirtualMachine,VM)、主機-設備通信(HostDeviceCommunication,HDC)等。
ComputingLanguage),提供運行資源管理、內(nèi)存管理、模型加載與執(zhí)行、算CAN針對訓練任務提供了完備的支持,針對Po、w等開源框架網(wǎng)絡模型,CAN提供了模型遷移工具,支持將其快速遷移到昇騰平臺。此外,CAN還提供了多種自動化調(diào)測工具,支持數(shù)據(jù)異常檢測、融合異常檢測、整網(wǎng)數(shù)據(jù)比對等,幫助開發(fā)者高效問題定位。關于CANN的更多介紹,可參見在線課程:異構計算架構CANN介紹44快速安裝文檔版本01文檔版本01(2024-05-快速安裝
圖4-1CANN開發(fā)運行環(huán)境搭建流程本節(jié)以Atlas800訓練服務器(型號:9010)為例,指導用戶在昇騰AI處理器上快速搭
NetworkProcessingUnit,神經(jīng)網(wǎng)絡處理器單元,此處NPU指昇騰AI處理器)是否正以Atlas0訓練服務器(型號:0)為例,執(zhí)行l(wèi)spci|gpd80命令檢查U是否正常在位,如果服務器上有N路,回顯N行含“”字段,則表示正常在位。3d:00.03d:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)3e:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)60:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)61:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)b1:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)b2:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)da:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)db:00.0Processingaccelerators:HuaweiTechnologiesCo.,Ltd.Deviced801(rev20)
表4-1步驟1以root用戶登錄待安裝環(huán)境,將驅動和固件包上傳至安裝環(huán)境的任意目錄(如“/groupadd-guseradd-ggroupadd-guseradd-gHwHiAiUser-d/home/HwHiAiUser-mHwHiAiUser-s步驟3chmod+xAscend-hdk-<soc_version>-npu-firmware_.220.run步驟5./Ascend-hdk-<soc_version>-npu-driver_23.0.3_linux-x86-64.run--full--install-for- Driverpackageinstalled 您還可以通過執(zhí)行npu-smiinfo圖4-2步驟6 FirmwareFirmwarepackageinstalledsuccessfully!Rebootnoworafterdriverinstallationfortheinstallation/upgradetotakeeffect步驟7 ----安裝
驅動固件安裝完成后,就可以進行CAN軟件包的安裝了,本節(jié)以在昇騰AI處理器上安裝開發(fā)套件包為例,介紹CAN軟件安裝的步驟。CANN開發(fā)套件包包含開發(fā)應用程序所需的庫文件、開發(fā)輔助工具等,安裝之后開發(fā)者可進行應用及自定義算子的開發(fā)。需要注意CAN網(wǎng)絡,并已配置軟件源,以下以用戶操作為例。步驟1apt-getinstall-ygccg++apt-getinstall-ygccg++makecmakezlib1gzlib1g-devopenssllibsqlite3-devlibssl-devlibffi-devunzippciutilsnet-toolslibblas-devgfortranlibblas3yuminstall-ygccgcc-c++makecmakeunzipzlib-devellibffi-developenssl-develpciutilsnet-toolssqlite-devellapack-develgcc-gfortranyuminstall-ygccgcc-c++makecmakeunzipzlib-devellibffi-developenssl-develpciutilsnet-toolssqlite-devellapack-develgcc-gfortran步驟2安裝Pythonpip3--version件安裝指南》中的“安裝開發(fā)環(huán)境>安裝依賴”根據(jù)對應的操作系統(tǒng)安裝python。說明若您后續(xù)需要安裝Poh0版本或者Poh0的AI框架,您的yn版本需要為y1、y7或y2,y環(huán)境僅支持安裝Poh0。pip3installattrspip3installattrsnumpydecoratorsympycffipyyamlpathlib2psutilprotobufscipyrequestsabsl-pywheel步驟4安裝CANNchmodchmod+xAscend-cann-toolkit_8.0.RC2.alpha001_linux-[INFO][INFO]Ascend-cann-toolkitinstallsource/usr/local/Ascend/ascend-安裝source/usr/local/Ascend/ascend-
----騰提供的AscendExtensionforPyTorch插件。作步驟,其他場景請參考《AscendExtensionforPyTorch配置與安裝》。#下載官方torchwget/whl/cpu/torch-2.1.0%2Bcpu-cp39-cp39-linux_x86_64.whl##下載官方torchwget/whl/cpu/torch-2.1.0%2Bcpu-cp39-cp39-linux_x86_64.whl#安裝官方torch包pip3installtorch-2.1.0+cpu-cp39-cp39-步驟2安裝pytorchgitclone-bv6.0.RC2.alpha001-pytorch2.1.0/ascend/pytorch.gitcdpytorchgitclone-bv6.0.RC2.alpha001-pytorch2.1.0/ascend/pytorch.gitcdpytorch#指定#指定Python版本編包方式,以Python3.9為例,其他Python版本請使用--python=3.8或--bashci/build.sh--##請用戶根據(jù)實際情況更改命令中的torch_npupip3install--upgradedist/torch_npu-2.1.0.post3-cp9-cp39-步驟3python3-c"importtorch;import 步驟4安裝PyTorch擴展庫torchvisionpip3install ----55文檔版本01文檔版本01(2024-05-將ONNX模型轉換為OM
后續(xù)操作以Atlas800訓練服務器(型號:9010)為例進行操作說明,若您使用其他
ifnottorch.cuda.is_available()ifnottorch.cuda.is_available()andnotprint('usingCPU,thiswillbeslow')elifargs.distributed:elifargs.gpuisnotNoneandtorch.cuda.is_available():model=eliftorch.backends.mps.is_available():device=torch.device("mps")model=model.to(device)iftorch.cuda.is_available():ifargs.gpu:device=torch.device('cuda:{}'.format(args.gpu))device=eliftorch.backends.mps.is_available():device=torch.device("mps")device=defrun_validate(loader,ifargs.gpuisnotNoneandtorch.cuda.is_available():images=images.cuda(args.gpu,non_blocking=True)iftorch.backends.mps.is_available():images=images.to('mps')target=iftarget=target.cuda(args.gpu,defiftorch.cuda.is_available():device=torch.device("cuda")eliftorch.backends.mps.is_available():device=torch.device("mps")device=ififnotprint('usingCPU,thiswillbeslow')elifargs.distributed:elifargs.gpuisnotNoneandtorch.cuda.is_available():model=#eliftorch.backends.mps.is_available(): device=torch.device("mps") model=iftorch.cuda.is_available():ifargs.gpu:device=torch.device('cuda:{}'.format(args.gpu))device=#elif device=device=defrun_validate(loader,ifargs.gpuisnotNoneandtorch.cuda.is_available():images=images.cuda(args.gpu,non_blocking=True) if images= target=iftarget=target.cuda(args.gpu,defiftorch.cuda.is_available():device=torch.device("cuda") eliftorch.backends.mps.is_available(): device=torch.device("mps")device=將定制好的main.py文件上傳至服務器,例如上傳到“/home/sample可從t官方網(wǎng)站h.image-net.ogimportimportfromtorch_npu.npuimportimportfromtorch_npu.npuimportimport步驟4python3python3main.py/home/sample/data/resnet50/imagenet--batch-size128--lr0.1--epochs1--archresnet50--world-size1--rank0--workers40--momentum0.9--weight-decay1e-4--gpu0--lr--epochs--arch--workers--weight-decay--gpu:DeviceID,這里參數(shù)名稱仍為gpu,但遷移完成后實際訓練設備已在代碼圖5-1獲得權重文件----導出ONNX.pth.tar文件導出ONNX步驟1創(chuàng)建轉換腳本,例如命名為“pth2onnx.py”,和ResNet50網(wǎng)絡訓練腳本main.py放置fromfromcollectionsimportOrderedDictimporttorchimporttorch_npuimportimporttorchvision.modelsas#如果.pth.tar文件保存時節(jié)點名加了前綴或后綴,則通過遍歷刪除。此處以遍歷刪除前綴"module."為例。若無defproc_nodes_module(checkpoint,new_state_dict=forkey,valueincheckpoint[AttrName].items():ifkey=="module.features.0.0.weight":#if(key[0:7]==name=name=new_state_dict[name]=valuereturnnew_state_dictdefdef#模型定義來自于torchvision,樣例生成的模型文件是基于resnet50checkpoint=torch.load("./checkpoint.pth.tar",map_location=torch.device('cpu'))#根據(jù)實際文件名稱checkpoint['state_dict']=model=models.resnet50(pretrained=False)input_names=["actual_input_1"]output_names=["output1"]dummy_input=torch.randn(1,3,224,torch.onnx.export(model,dummy_input,"resnet50.onnx",input_names=input_names,output_names=output_names,opset_version=11) #輸出文件名根據(jù)實際情況修改ifname=="main":步驟2python3 ----將ONNX模型轉換為OM將5.3導出ONNX模型導出的“resnet50.onnx”模型,用CANN提供的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度大宗商品期貨交易風險管理合同樣本3篇
- 催收委托代理協(xié)議
- 投資合同融資協(xié)議書(2篇)
- 法律咨詢外包合同(2篇)
- 二零二五年度冷鏈物流倉儲設施建設勞務施工協(xié)議3篇
- 二零二五年度企業(yè)融資擔保業(yè)務合同
- 二零二五年度科研基地臨時租賃場地租賃合同2篇
- 二零二五年度外墻干掛石材裝配式建筑構件檢測與認證合同
- 二零二五年度電商平臺退貨及消費者權益保護規(guī)范合同
- 2025至2030年中國3芯數(shù)字音頻電纜數(shù)據(jù)監(jiān)測研究報告
- 中日合同范本
- T-CARM 002-2023 康復醫(yī)院建設標準
- 密度計法顆粒分析試驗記錄(自動和計算)
- 土方轉運方案
- (11.3.1)-10.3蒸汽壓縮制冷循環(huán)
- GB/T 21797-2008化學品有機磷化合物28天重復劑量的遲發(fā)性神經(jīng)毒性試驗
- 2023年湖北成人學位英語考試真題
- 園區(qū)保安巡邏崗標準作業(yè)規(guī)程
- SJG 112-2022 既有建筑幕墻安全性鑒定技術標準高清最新版
- 旅游文本的翻譯課件
- 最全新能源材料-鋰離子電池材料189張課件
評論
0/150
提交評論