最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

使用ATC工具將主流開源框架模型轉換為昇騰模型

2023-03-21 14:49 作者:昇騰Ascend  | 我要投稿

01 什么是ATC,它能做什么?

昇騰張量編譯器(Ascend Tensor Compiler,簡稱ATC)是昇騰CANN架構體系下的模型轉換工具:什么是ATC,它能做什么?

  1. 它可以將開源框架的網(wǎng)絡模型(例如TensorFlow、ONNX等)轉換為昇騰AI處理器支持的模型文件(.om格式),用于后續(xù)的模型推理。

  2. 它可以將基于Ascend IR定義的單算子描述文件(*.json格式)轉換為昇騰AI處理器支持的模型文件(.om格式),用于后續(xù)在整網(wǎng)中驗證算子功能。

模型轉換過程中,ATC會進行算子調度優(yōu)化、權重數(shù)據(jù)重排、內存使用優(yōu)化等操作,對開源框架的網(wǎng)絡模型做進一步調優(yōu),使其高效地在昇騰AI處理器上執(zhí)行。

02?ATC工具功能架構

3.PNG
  • 開源框架網(wǎng)絡模型編譯流程:

  1. 使用ATC工具轉換模型時,開源框架網(wǎng)絡模型經(jīng)過Parser解析后,轉換為昇騰的中間圖IR Graph。

  2. 中間圖IR Graph經(jīng)過圖準備,圖拆分,圖優(yōu)化,圖編譯等一系列操作后,轉成適配昇騰AI處理器的*.om模型文件。

  3. 后續(xù)用戶可調用AscendCL提供的模型加載、執(zhí)行等接口實現(xiàn)模型推理。

  • 單算子編譯流程:

  1. 使用ATC工具轉換單算子時,單算子經(jīng)過編譯后,轉換成適配昇騰AI處理器的單算子*.om模型文件。

  2. 后續(xù)用戶可調用AscendCL提供的單算子模型加載、執(zhí)行等接口在整網(wǎng)中驗證單算子功能。

03如何使用ATC工具

下面以Caffe框架ResNet-50網(wǎng)絡模型為例,介紹如何使用ATC工具轉換模型。

1. 將Caffe框架ResNet-50網(wǎng)絡模型的模型文件*.prototxt、權重文件*.caffemodel上傳至ATC工具所在的Linux服務器。

2. 執(zhí)行如下命令進行模型轉換。

參數(shù)解釋如下:

  • --framework:原始網(wǎng)絡模型框架類型,0表示Caffe框架。

  • --soc_version:指定模型轉換時昇騰AI處理器的版本,例如Ascend310。

  • --model:原始網(wǎng)絡模型文件路徑,含文件名。

  • --weight:原始網(wǎng)絡模型權重文件路徑,含文件名,僅當原始網(wǎng)絡模型是Caffe時需要指定。

  • --output:轉換后的*.om模型文件路徑,含文件名,轉換成功后,模型文件名自動以.om后綴結尾。

3. 若提示ATC run success信息,則說明模型轉換成功。

? ? 在--output參數(shù)指定的路徑下,可查看轉換后的模型文件,例如caffe_resnet50.om。

04 ATC工具支持更多特性

上述只給出了ATC工具進行模型轉換最基本的命令,本章節(jié)給出ATC工具支持的更多特性,方便用戶進一步了解。

  • ATC工具支持將原始模型文件或昇騰*.om模型文件轉換成json格式:

    - 原始模型文件—>json文件

? ? ? ?- 昇騰*.om模型文件—>json文件

  • ATC工具支持自定義*.om模型的輸入輸出數(shù)據(jù)類型:

? ? ? ? 模型轉換時支持指定網(wǎng)絡模型的輸入或輸出節(jié)點的數(shù)據(jù)類型、Format,支持設置精度等。

? ? ? ? 此處的示例命令場景:針對Caffe框架ResNet50網(wǎng)絡模型,轉換后的模型輸入為FP16類型,指定Pooling算子作為輸出,并且該輸出節(jié)點為FP16類型。

  • ATC工具支持設置動態(tài)BatchSize/動態(tài)分辨率:

? ? ? ? 某些推理場景,如檢測出目標后再執(zhí)行目標識別網(wǎng)絡,由于目標個數(shù)不固定導致目標識別網(wǎng)絡輸入BatchSize不固定;如果每次推理都按照最大的BatchSize或最大分辨率進行計算,會造成計算資源浪費,因此,模型轉換需要支持動態(tài)BatchSize和動態(tài)分辨率的設置,實際推理時,通過AscendCL接口設置本次推理所需的BatchSize和動態(tài)分辨率。

? ? ? ? -?動態(tài)BatchSize

? ? ? ? 其中,“--input_shape ”中的“-1”表示設置動態(tài)BatchSize,具體支持哪些BatchSize由“--dynamic_batch_size”決定。

? ? ? ??-?動態(tài)分辨率

? ? ? 其中,“--input_shape ”中的“-1,-1”表示設置動態(tài)分辨率,具體支持哪些分辨率由“--dynamic_image_size ”決定。

05 更多介紹

關于ATC工具更多參數(shù)和特性說明,請登錄昇騰社區(qū)查閱:


使用ATC工具將主流開源框架模型轉換為昇騰模型的評論 (共 條)

分享到微博請遵守國家法律
通化县| 台中县| 雅江县| 廊坊市| 桂东县| 清水河县| 东明县| 平凉市| 内江市| 凉山| 治多县| 平泉县| 定兴县| 鄂托克前旗| 株洲县| 阳谷县| 广饶县| 博客| 全椒县| 通许县| 通城县| 怀集县| 庄河市| 马尔康县| 阿克陶县| 岳阳市| 澄迈县| 玛沁县| 平阳县| 绵阳市| 东莞市| 茶陵县| 永登县| 余江县| 包头市| 崇左市| 娄底市| 新宾| 田东县| 横山县| 察哈|