MindSpore兩日訓練營第五期筆記】導出MindIR格式模型

      網友投稿 1160 2025-04-02

      一、MindIR 概述


      MindSpore通過統一IR定義了網絡的邏輯結構和算子的屬性,將MindIR格式的模型文件

      與硬件平臺解耦,實現一次訓練多次部署。

      MindIR作為MindSpore的統一模型文件,同時存儲了網絡結構和權重參數值。同時支持

      部署到云端Serving和端側Lite平臺執行推理任務。

      同一個MindIR文件支持多種硬件形態的部署:

      - Serving部署推理

      - 端側Lite推理部署

      二、名詞解釋

      Checkpoint

      ? 采用了Protocol Buffers格式,存儲了網絡中所有的參數值。

      ? 一般用于訓練任務中斷后恢復訓練,或訓練后的微調(Fine Tune)任務。

      ?MindIR

      ? 全稱MindSpore IR,是MindSpore的一種基于圖表示的函數式IR,定義了可擴展的圖

      結構以及算子的IR表示。

      ? 它消除了不同后端的模型差異,一般用于跨硬件平臺執行推理任務。

      ?ONNX

      ? 全稱Open Neural Network Exchange,是一種針對機器學習模型的通用表達。

      ? 一般用于不同框架間的模型遷移或在推理引擎(TensorRT)上使用。

      ?AIR

      ? 全稱Ascend Intermediate Representation,是華為定義的針對機器學習所設計的開放式

      文件格式。

      ? 它能更好地適應華為AI處理器,一般用于Ascend 310上執行推理任務。

      三、導出LeNet網絡的MindIR格式模型

      1.訓練LeNet模型生成checkpoint

      LeNet訓練代碼選用MindSpore官方代碼倉中modelzool中的代碼

      地址:https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/cv/lenet

      2.MNIST數據-

      1)官方-:http://yann.lecun.com/exdb/mnist/

      2)網盤下載:鏈接: https://pan.baidu.com/s/1zX-OwL8bOgq4dhEuaRj2Xg 提取碼: zew6

      MNIST數據集下載完成后解壓到代碼根目錄下

      3.執行訓練命令

      python train.py --data_path ./MNIST_DATA/ --ckpt_path=./checkpoint/ --device_target Ascend

      注:我使用的是昇騰平臺進行模型訓練,如果使用CPU或者GPU進行訓練的話device_target后面改為對應的就好

      當屏幕出現epoch、loss等數值時模型就開始進行訓練了

      4.得到checkpoint

      當模型訓練參數中指定的ckpt_path文件夾中出現ckpt文件就代表訓練成功了。接下去我們可以選擇一個ckpt文件進行轉換mindir格式。這里我選擇checkpoint_lenet-10_1875.ckpt

      5.編寫模型轉換代碼

      import numpy as np from mindspore import Tensor, export, load_checkpoint, load_param_into_net from src.lenet import LeNet5 lenet = LeNet5() # load the parameter into net load_checkpoint("./checkpoint/checkpoint_lenet-10_1875.ckpt", net=lenet) #checkpoint_lenet-10_1875.ckpt更換成對應所需要轉換的ckpt文件 input = np.random.uniform(0.0, 1.0, size=[32, 1, 32, 32]).astype(np.float32) #Lenet模型的size為32,1,32,32 export(lenet, Tensor(input), file_name='lenet-10_1875', file_format='MINDIR') #file_name指定轉換后文件的文件名

      6.執行模型轉換代碼

      python lenet_mindr.py

      執行完畢后查看代碼根目錄下如果存在前面我們指定的lenet-10_1875.mindir文件的話就代表模型轉化成功了!

      四、導出ResNet50網絡的MindIR格式模型

      1.訓練ResNet50網絡生成checkpoint

      ResNet50模型訓練代碼依舊使用MindSpore官方代碼倉中modelzoo的代碼,鏈接:https://gitee.com/mindspore/mindspore/tree/master/model_zoo/official/cv/resnet

      2.Cifar10數據集

      因為ImageNet數據集比較龐大訓練需要比較久的時間,所以這邊我們采用cifar10數據集進行模型訓練

      1)Cifar10數據集官方下載:http://www.cs.toronto.edu/~kriz/cifar.html

      2)? 百度網盤下載:鏈接: https://pan.baidu.com/s/1CpgjFtZk2ZQsr_qUtc6z1g 提取碼: kjhi

      3.執行訓練命令

      python train.py --net resnet50 --dataset cifar10 --dataset_path ./data/cifar10-bin/train/ --device_target Ascend

      注:我使用的是昇騰平臺進行模型訓練,如果使用CPU或者GPU進行訓練的話device_target后面改為對應的就好

      當屏幕出現epoch、loss等數值時模型就開始進行訓練了

      4.獲取checkpoint

      【MindSpore兩日訓練營第五期筆記】導出MindIR格式模型

      當模型訓練參數中指定的ckpt_path文件夾中出現ckpt文件就代表訓練成功了。接下去我們可以選擇一個ckpt文件進行轉換mindir格式。這里我選擇resnet-90_1562.ckpt

      5.編寫模型轉換腳本

      import numpy as np from mindspore import Tensor, export, load_checkpoint, load_param_into_net from src.resnet import resnet50 as ResNet50 resnet = ResNet50() # load the parameter into net load_checkpoint("./checkpoint/resnet-90_1562.ckpt", net=resnet) input = np.random.uniform(0.0, 1.0, size=[32, 3, 224, 224]).astype(np.float32) export(resnet, Tensor(input), file_name='resnet-90_162', file_format='MINDIR')

      6.執行模型轉換

      python resnet_mindir.py

      執行完畢后查看代碼根目錄下如果存在前面我們指定的resnet-90_1562.mindir文件的話就代表模型轉化成功了!

      AI MindSpore 機器學習

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

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

      上一篇:將excel表格轉化成Word文檔的方法步驟(word文檔表格如何轉化為excel表格)
      下一篇:辦公表格軟件辦公表格軟件word)
      相關文章
      亚洲人成电影网站色| 亚洲精品国产首次亮相| 国产亚洲漂亮白嫩美女在线| 国产精品亚洲专区在线观看| 亚洲国色天香视频| 亚洲精品中文字幕麻豆| 337p日本欧洲亚洲大胆色噜噜| 久久精品国产亚洲AV麻豆~| 久久精品7亚洲午夜a| 亚洲第一AAAAA片| 亚洲av无码乱码国产精品| 亚洲AV美女一区二区三区| 亚洲精品中文字幕乱码三区| 国产av无码专区亚洲av果冻传媒| 亚洲国产精品人人做人人爱| 亚洲av麻豆aⅴ无码电影| 亚洲成aⅴ人片久青草影院| 亚洲国产小视频精品久久久三级| 亚洲国产黄在线观看| 亚洲综合激情另类专区| 久久亚洲AV永久无码精品| 中国亚洲女人69内射少妇| 亚洲国产精品无码久久一区二区| 亚洲国产精品无码专区| 亚洲av日韩av高潮潮喷无码| 精品亚洲麻豆1区2区3区| 亚洲码在线中文在线观看| 亚洲日日做天天做日日谢| 亚洲AV无码一区二区三区电影| 国产偷国产偷亚洲高清在线| 亚洲色一色噜一噜噜噜| 亚洲精品成人片在线观看精品字幕| 亚洲国产AV无码专区亚洲AV| 67pao强力打造67194在线午夜亚洲 | 亚洲产国偷V产偷V自拍色戒| 亚洲成人激情在线| 亚洲日韩乱码中文无码蜜桃臀| 精品久久亚洲中文无码| 亚洲AV综合色区无码一二三区| 亚洲成aⅴ人片久青草影院| 亚洲人成网77777色在线播放|