張小白帶你體驗MindSpore 1.3的新特性:MindSpore Lite端側訓練的實現(C++)

      網友投稿 986 2025-04-01

      MindSpore作為一個不斷深入地讓開發者學習的國產深度學習框架,一直在推陳出新。

      在1.1版本的時候,張小白曾經參加了當時的【1.23-1.24 | MindSpore第五期兩日集訓營】,并寫出了以下博客:

      張小白帶你體驗MindSpore 1.1的新特性:PyNative模式

      https://bbs.huaweicloud.com/blogs/242300

      張小白帶你體驗MindSpore 1.1的新特性:單節點緩存Cache(1)CPU環境下的Cache體驗

      https://bbs.huaweicloud.com/blogs/242306

      張小白帶你體驗MindSpore 1.1的新特性:單節點緩存Cache(2)GPU環境下的Cache體驗

      https://bbs.huaweicloud.com/blogs/242307

      張小白帶你體驗MindSpore 1.1的新特性:MindSpore Lite端側推理的另類實現

      https://bbs.huaweicloud.com/blogs/242317

      沒想到僅僅過了2個小版本號,MindSpore 就不僅支持端側推理,而且支持端側訓練了。

      根據 https://bbs.huaweicloud.com/forum/thread-141383-1-1.html 的介紹:

      MindSpore Lite端在手機或IoT上,可以支持對訓練導出的模型進行增量訓練。它采用了 訓練內存復用、virtual batch、混合精度訓練(名字好熟,好像在CANN訓練營第一期的模型營提到過)、在線融合、量化等手段。

      具體的端側訓練流程是:

      基于MindSpore構建訓練模型,并導出MindIR模型文件。

      使用MindSpore Lite Converter工具,將MindIR模型轉為端側MS模型。

      調用MindSpore Lite訓練API,加載端側MS模型,執行訓練。

      就讓張小白拿著 https://gitee.com/mindspore/docs/blob/r1.3/docs/lite/docs/source_zh_cn/quick_start/train_lenet.md 這份文檔,帶著你一起體驗一下這個新特性吧。

      根據文檔要求,需要準備ubuntu 18.04的環境。這里張小白準備了以前安裝MindSpore 1.1版本用過的VMWare 虛擬機。

      (1)下載MNIST數據集

      MNIST數據集下載了很多次,就連正在進行中的 昇騰CANN訓練營第二期中也用到了多次。張小白就把這次訓練營在Windows中使用的數據集使用XFTP工具上傳到 ~/mindspore1.3目錄下:

      (2)下載MindSpore 1.3分支的代碼倉

      (3)下載MindSpore Lite

      wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0-lite/MindSpore/lite/release/linux/mindspore-lite-1.3.0-linux-x64.tar.gz

      wget https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0-lite/MindSpore/lite/release/android/gpu/mindspore-lite-1.3.0-android-aarch64.tar.gz

      (4)建立output目錄,并將Lite拷貝到output目錄下

      (注意下圖中的路徑)

      (5)安裝ADB

      (6)安裝MindSpore 1.3 for ubuntu (CPU)

      先升級pip

      打開 https://www.mindspore.cn/install/

      按照以下方式選擇:

      執行安裝

      pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.3.0/MindSpore/cpu/x86_64/mindspore-1.3.0-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple

      檢查版本:

      這里如果出現 libgmpxx.so.4打不開的錯

      可先確認是否安裝了gmp-6.1.2 (gmp-6.1.2的下載鏈接 https://gmplib.org/download/gmp/gmp-6.1.2.tar.xz )

      可參考 https://bbs.huaweicloud.com/blogs/198349 Part Two的方式,按照gmp-5.0.1同樣的方式安裝 gmp-6.1.2.

      如果安裝了gmp-6.1.2后仍然報錯,可執行 sudo apt install libgmpxx4ldbl

      (7)安裝Android NDK r20b

      按官網?https://www.mindspore.cn/lite/docs/zh-CN/master/use/build.html 要求,需要安裝Android NDK r20b以上版本。

      (如果不安裝這個版本,在后續的訓練時,可能會出現clang++找不到,std++17編譯參數不支持,找不到tuple等各種奇怪的編譯錯誤)

      下載:

      解壓:

      設置環境變量 .bashrc

      使環境變量生效

      source .bashrc

      驗證Android NDK安裝:

      ndk-build

      (8)進行本地訓練:

      進入 mindspore/lite/examples/train_lenet目錄:

      bash prepare_and_run.sh -D /home/ascend/mindspore1.3/MNIST_Data -t x86

      。。。

      。。。

      (9)連接手機:

      張小白將榮耀30手機使用Type-C線與筆記本電腦相連,并打開USB調試開關:

      (設置-》系統和更新-》開發人員選項)

      查看USB狀態:(箭頭所指的華為就是榮耀30手機——當時華為和榮耀還沒分家。。。)

      (10)端側訓練:

      執行 bash prepare_and_run.sh -D /PATH/MNIST_Data -t arm64

      由于目前端側訓練不支持NPU,雖然上面報了找不到hiai_ddk的錯,也不用去官網下載ddk,而是需要編輯 prepare_and_run.sh文件,注釋掉處理hiai_ddk的部分:

      重新執行訓練:

      bash prepare_and_run.sh -D /home/ascend/mindspore1.3/MNIST_Data -t arm64

      。。。

      其實看 prepare_and_run.sh中的帶有arm64參數執行的代碼部分,分別調用了 adb push, adb shell,就可以知道確實是在 ubuntu上遠程進行了訓練。

      因為,如果張小白拔掉手機與筆記本電腦之間的USB線:

      重新執行這個腳本,就會報以下的錯:(adb:找不到android設備或者android模擬器)

      這真真正正地證明了確實是在手機上跑的訓練。

      張小白帶你體驗MindSpore 1.3的新特性:MindSpore Lite端側訓練的實現(C++)

      (全文完,謝謝閱讀)

      C++ MindSpore 昇騰 深度學習 神經網絡

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

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

      上一篇:excel工作簿身份證號提取出生日期,你想要什么格式
      下一篇:WPS表格制作考場座位簽(wps桌簽模板)
      相關文章
      亚洲日本在线播放| 国产A在亚洲线播放| 亚洲宅男永久在线| 亚洲女久久久噜噜噜熟女| 亚洲精品无码专区久久同性男| 亚洲国产成人久久精品大牛影视 | 亚洲一区二区三区91| 亚洲图片中文字幕| 亚洲欧洲综合在线| 亚洲一级毛片视频| 亚洲人成网站色在线观看| 亚洲а∨天堂久久精品9966 | 亚洲国产一区在线观看| 亚洲一级高清在线中文字幕| 亚洲专区中文字幕| 国产成人精品日本亚洲18图| 亚洲伊人久久大香线蕉AV| 亚洲国产午夜精品理论片在线播放| 亚洲欧洲日产国码久在线| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲AV成人无码网站| 亚洲爆乳无码精品AAA片蜜桃| 久久综合亚洲色hezyo| 亚洲精品成人久久久| 亚洲综合网站色欲色欲| 亚洲国产精品无码久久久蜜芽| 亚洲AV无码一区二区三区系列| 久久精品国产亚洲AV麻豆王友容 | 久久久亚洲精品无码| 久久精品国产亚洲av水果派| 亚洲精品国产福利片| 亚洲AV成人噜噜无码网站| 亚洲欧美日韩中文高清www777| 亚洲AV无码AV男人的天堂不卡| 亚洲av无码成人精品区| 最新国产AV无码专区亚洲| 久久久综合亚洲色一区二区三区 | 久久久久亚洲AV无码观看| 亚洲国产一区在线观看| 亚洲精品GV天堂无码男同| 亚洲午夜无码AV毛片久久|