圖Transformer NZ樣例)
樣例使用指導(dǎo)【免費下載鏈接】geGEGraph Engine是面向昇騰的圖編譯器和執(zhí)行器提供了計算圖優(yōu)化、多流并行、內(nèi)存復(fù)用和模型下沉等技術(shù)手段加速模型執(zhí)行效率減少模型內(nèi)存占用。 GE 提供對 PyTorch、TensorFlow 前端的友好接入能力并同時支持 onnx、pb 等主流模型格式的解析與編譯。項目地址: https://gitcode.com/cann/ge1、功能描述本樣例使用NZ數(shù)據(jù)格式對transformer進行構(gòu)圖旨在幫助構(gòu)圖開發(fā)者快速上手關(guān)于es的構(gòu)圖方式2、目錄結(jié)構(gòu)cpp/ ├── src/ | └── CMakeLists.txt // CMake構(gòu)建文件 | └── es_showcase.h // 頭文件 | └── make_transformer_nz_graph.cpp // sample文件 ├── CMakeLists.txt // CMake構(gòu)建文件 ├── main.cpp // 程序主入口 ├── README.md // README文件 ├── run_sample.sh // 執(zhí)行腳本 ├── utils.h // 工具文件3、使用方法3.1、準備cann包通過安裝指導(dǎo) 環(huán)境準備正確安裝toolkit和ops包設(shè)置環(huán)境變量 (假設(shè)包安裝在/usr/local/Ascend/)source /usr/local/Ascend/cann/set_env.sh3.2、編譯和執(zhí)行只需運行下述命令即可完成清理、生成接口、構(gòu)圖和DUMP圖bash run_sample.sh當(dāng)前 run_sample.sh 的行為是先自動清理舊的 build構(gòu)建 sample并默認執(zhí)行sample dump 。當(dāng)看到如下信息代表執(zhí)行成功[Success] sample 執(zhí)行成功pbtxt dump 已生成在當(dāng)前目錄。該文件以 ge_onnx_ 開頭可以在 netron 中打開顯示輸出文件說明執(zhí)行成功后會在當(dāng)前目錄生成以下文件ge_onnx_*.pbtxt- 圖結(jié)構(gòu)的protobuf文本格式可用netron查看構(gòu)建圖并執(zhí)行除了基本的圖構(gòu)建和dump功能外esb_sample還支持構(gòu)建圖并實際執(zhí)行計算。bash run_sample.sh -t sample_and_run該命令會自動生成ES接口編譯sample程序生成dump圖、運行圖并輸出計算結(jié)果執(zhí)行成功后會看到[Success] sample_and_run 執(zhí)行成功pbtxt和data輸出dump 已生成在當(dāng)前目錄可通過data文件查看計算結(jié)果3.3、日志打印可執(zhí)行程序執(zhí)行過程中如果需要日志打印來輔助定位可以在bash run_sample.sh之前設(shè)置如下環(huán)境變量來讓日志打印到屏幕export ASCEND_SLOG_PRINT_TO_STDOUT1 #日志打印到屏幕 export ASCEND_GLOBAL_LOG_LEVEL0 #日志級別為debug級別3.4、圖編譯流程中DUMP圖可執(zhí)行程序執(zhí)行過程中如果需要DUMP圖來輔助定位圖編譯流程可以在 bash run_sample.sh -t sample_and_run 之前設(shè)置如下環(huán)境變量來DUMP圖到執(zhí)行路徑下export DUMP_GE_GRAPH24、核心概念介紹4.1、構(gòu)圖步驟如下創(chuàng)建圖構(gòu)建器(用于提供構(gòu)圖所需的上下文、工作空間及構(gòu)建相關(guān)方法)添加起始節(jié)點(起始節(jié)點指無輸入依賴的節(jié)點通常包括圖的輸入(如 Data 節(jié)點)和權(quán)重常量(如 Const 節(jié)點))添加中間節(jié)點(中間節(jié)點為具有輸入依賴的計算節(jié)點通常由用戶構(gòu)圖邏輯生成并通過已有節(jié)點作為輸入連接)設(shè)置圖輸出(明確圖的輸出節(jié)點作為計算結(jié)果的終點)4.2、NZ數(shù)據(jù)格式的說明NZ數(shù)據(jù)格式是昇騰親和的數(shù)據(jù)格式在昇騰AI處理器上計算效率更高通常比ND格式性能更好。關(guān)于NZ數(shù)據(jù)格式的詳細說明請參考昇騰官網(wǎng)說明數(shù)據(jù)排布格式【免費下載鏈接】geGEGraph Engine是面向昇騰的圖編譯器和執(zhí)行器提供了計算圖優(yōu)化、多流并行、內(nèi)存復(fù)用和模型下沉等技術(shù)手段加速模型執(zhí)行效率減少模型內(nèi)存占用。 GE 提供對 PyTorch、TensorFlow 前端的友好接入能力并同時支持 onnx、pb 等主流模型格式的解析與編譯。項目地址: https://gitcode.com/cann/ge創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考