5分鐘在線體驗(yàn)MindSpore的圖層IR--MindIR

      網(wǎng)友投稿 1070 2022-05-29

      在線體驗(yàn) MindIR 格式模型生成

      ?

      眾所周知,人工智能能有今天的發(fā)展離不開數(shù)據(jù)、算力和算法。作為普通的Copy攻城獅,手頭沒有良好的硬件支撐AI的學(xué)習(xí),焦頭爛額,還好有她--ModelArts 。ModelArts是華為云的一站式AI開發(fā)平臺(tái),其中有個(gè)「我的筆記本」功能,是即開即用、用于機(jī)器學(xué)習(xí)的在線集成開發(fā)環(huán)境,可以輕松的構(gòu)建、訓(xùn)練、調(diào)試、部署機(jī)器學(xué)習(xí)算法與模型。關(guān)鍵是免費(fèi)!免費(fèi)!免費(fèi)!

      ?

      關(guān)于 MindIR

      此次 MindSpore 第五期集訓(xùn)營的第一節(jié)課主要講的就是 MindIR 。MindIR是MindSpore提供的中間表達(dá)形式,可以幫助我們實(shí)現(xiàn)一次訓(xùn)練多處部署,實(shí)現(xiàn)端云互通。比如我們可以在Ascend AI處理器、GPU、CPU等不同平臺(tái)上訓(xùn)練并導(dǎo)出MindIR文件,然后快速部署到手機(jī)端或者用MindSpore Serving服務(wù)等環(huán)境上,體驗(yàn)到MindSpore的全場景能力。MindIR的具體實(shí)現(xiàn)細(xì)節(jié)請(qǐng)閱讀《AI框架中圖層IR的分析》。因?yàn)?,Copy攻城獅只關(guān)心如何應(yīng)用:

      接下來通過兩個(gè)具體的在線案例了解一下 MindIR 格式的模型是如何生成的。

      導(dǎo)出LeNet網(wǎng)絡(luò)的MindIR格式模型

      官方文檔:保存模型

      查看源碼

      下載notebook

      在云上體驗(yàn)

      這是一個(gè)可以在 CPU 環(huán)境運(yùn)行的案例,使用的是 LeNet 網(wǎng)絡(luò) 和 MNIST 數(shù)據(jù)集。具體的實(shí)現(xiàn)本文不再贅述,總之這個(gè)案例詳細(xì)介紹了 MindSpore 中數(shù)據(jù)處理、網(wǎng)絡(luò)定義、模型訓(xùn)練、模型保存、模型驗(yàn)證等相關(guān)知識(shí)點(diǎn)。本文關(guān)注點(diǎn)在「導(dǎo)出MindIR格式文件」。 點(diǎn)擊上邊或者官方文檔的 「Run in ModelArts」 就可跳轉(zhuǎn)到華為云一站式AI開發(fā)平臺(tái),我們進(jìn)入的其實(shí)是 ModelArts 的 「我的筆記本」功能--一個(gè)基于 JupyterLab 構(gòu)建的在線集成開發(fā)環(huán)境,還可以快速切換不同環(huán)境平臺(tái)。當(dāng)前案例使用的是 GPU 環(huán)境,MindSpore 版本為 1.0.1 。根據(jù)文檔并執(zhí)行代碼,我們很快就能實(shí)現(xiàn)一個(gè) LeNet 網(wǎng)絡(luò)并得到訓(xùn)練之后的模型。

      目前導(dǎo)出 MINDIR 格式模型文件基于前置步驟生成的 CheckPoint 文件。官方文檔建議使用.mindir作為MINDIR格式文件的后綴名。導(dǎo)出 MINDIR 格式文件的代碼如下:

      from?mindspore.train.serialization?import?export,?load_checkpoint,?load_param_into_net

      from?mindspore?import?Tensor

      import?numpy?as?np

      lenet?=?LeNet5()

      #?返回模型的參數(shù)字典

      param_dict?=?load_checkpoint("./models/ckpt/mindspore_save_model/lenet-1_1875.ckpt")

      #?加載參數(shù)到網(wǎng)絡(luò)

      load_param_into_net(lenet,?param_dict)

      input?=?np.random.uniform(0.0,?1.0,?size=[32,?1,?32,?32]).astype(np.float32)

      #?以指定的名稱和格式導(dǎo)出文件

      export(lenet,?Tensor(input),?file_name='lenet-1_1875.mindir',?file_format='MINDIR',)

      導(dǎo)出完成之后,在當(dāng)前目錄下會(huì)生成一個(gè)MINDIR格式文件,如下圖中名為lenet-1_1875.mindir的文件。

      當(dāng)然如果您想將 LeNet 模型導(dǎo)出為不同格式的文件,建議您進(jìn)行封裝,具體實(shí)踐請(qǐng)參考mindspore/model_zoo/official/cv/lenet/export.py

      訓(xùn)練ResNet50網(wǎng)絡(luò)導(dǎo)出MindIR格式模型

      官方文檔:使用ResNet-50網(wǎng)絡(luò)實(shí)現(xiàn)圖像分類

      查看源碼

      下載notebook

      在云上體驗(yàn)

      有了上一次的在線體驗(yàn),在進(jìn)行訓(xùn)練ResNet50網(wǎng)絡(luò)導(dǎo)出MindIR格式模型的時(shí)候,可謂“輕車熟路”,同樣的點(diǎn)擊「Run in ModelArts」開始我們的云端AI開發(fā)之旅。這次我們使用的是ResNet-50網(wǎng)絡(luò),CIFAR-10數(shù)據(jù)集,依舊是 MIndSpore 1.0.1 版本,不過是 GPU 環(huán)境的。

      目前, ModelArts 中 「我的筆記本」要想使用 GPU 版本的 MIndSpore,好像暫時(shí)只有這個(gè)入口。 當(dāng)然,這個(gè)案例中并沒有實(shí)現(xiàn)將模型導(dǎo)出為 MindIR 格式,需要我們手動(dòng)添加,唯一值得注意的是 MindSpore 1.0.1 和 MIndSpore 1.1.0 中 導(dǎo)出的方法「export」放在不同的命名空間下,1.1.0版本的引入方法是

      from?mindspore?import?Tensor,?export,?load_checkpoint,?load_param_into_net

      而 1.1.0版本中的引入方法是

      from?mindspore.train.serialization?import?export,?load_checkpoint,?load_param_into_net

      因此,這里導(dǎo)出ResNet50網(wǎng)絡(luò) MindIR 格式的代碼為:

      from?resnet?import?resnet50

      from?mindspore.train.serialization?import?export,?load_checkpoint,?load_param_into_net

      from?mindspore?import?Tensor

      import?numpy?as?np

      resnet?=?resnet50(batch_size=32,?num_classes=10)

      #?return?a?parameter?dict?for?model

      param_dict?=?load_checkpoint("./models/ckpt/mindspore_vision_application/train_resnet_cifar10-10_1562.ckpt")

      #?load?the?parameter?into?net

      load_param_into_net(resnet,?param_dict)

      input?=?np.random.uniform(0.0,?1.0,?size=[32,?3,?224,?224]).astype(np.float32)

      export(resnet,?Tensor(input),?file_name='resnet_cifar10-10_1562.mindir',?file_format='MINDIR')

      不過這兩個(gè)在線案例導(dǎo)出之后的 MindIR 格式,我還沒來得及驗(yàn)證是否能正常使用。如果您知道快速驗(yàn)證的方法,請(qǐng)您分享與我,感謝大家多多指教!

      在線體驗(yàn) MindIR 格式模型生成

      眾所周知,人工智能能有今天的發(fā)展離不開數(shù)據(jù)、算力和算法。作為普通的Copy攻城獅,手頭沒有良好的硬件支撐AI的學(xué)習(xí),焦頭爛額,還好有她--ModelArts 。ModelArts是華為云的一站式AI開發(fā)平臺(tái),其中有個(gè)「我的筆記本」功能,是即開即用、用于機(jī)器學(xué)習(xí)的在線集成開發(fā)環(huán)境,可以輕松的構(gòu)建、訓(xùn)練、調(diào)試、部署機(jī)器學(xué)習(xí)算法與模型。關(guān)鍵是免費(fèi)!免費(fèi)!免費(fèi)!

      5分鐘在線體驗(yàn)MindSpore的圖層IR--MindIR

      關(guān)于 MindIR

      此次 MindSpore 第五期集訓(xùn)營的第一節(jié)課主要講的就是 MindIR 。MindIR是MindSpore提供的中間表達(dá)形式,可以幫助我們實(shí)現(xiàn)一次訓(xùn)練多處部署,實(shí)現(xiàn)端云互通。比如我們可以在Ascend AI處理器、GPU、CPU等不同平臺(tái)上訓(xùn)練并導(dǎo)出MindIR文件,然后快速部署到手機(jī)端或者用MindSpore Serving服務(wù)等環(huán)境上,體驗(yàn)到MindSpore的全場景能力。MindIR的具體實(shí)現(xiàn)細(xì)節(jié)請(qǐng)閱讀《AI框架中圖層IR的分析》。因?yàn)?,Copy攻城獅只關(guān)心如何應(yīng)用:

      接下來通過兩個(gè)具體的在線案例了解一下 MindIR 格式的模型是如何生成的。

      導(dǎo)出LeNet網(wǎng)絡(luò)的MindIR格式模型

      官方文檔:保存模型

      這是一個(gè)可以在 CPU 環(huán)境運(yùn)行的案例,使用的是 LeNet 網(wǎng)絡(luò) 和 MNIST 數(shù)據(jù)集。具體的實(shí)現(xiàn)本文不再贅述,總之這個(gè)案例詳細(xì)介紹了 MindSpore 中數(shù)據(jù)處理、網(wǎng)絡(luò)定義、模型訓(xùn)練、模型保存、模型驗(yàn)證等相關(guān)知識(shí)點(diǎn)。本文關(guān)注點(diǎn)在「導(dǎo)出MindIR格式文件」。 點(diǎn)擊上邊或者官方文檔的 「Run in ModelArts」 就可跳轉(zhuǎn)到華為云一站式AI開發(fā)平臺(tái),我們進(jìn)入的其實(shí)是 ModelArts 的 「我的筆記本」功能--一個(gè)基于 JupyterLab 構(gòu)建的在線集成開發(fā)環(huán)境,還可以快速切換不同環(huán)境平臺(tái)。當(dāng)前案例使用的是 GPU 環(huán)境,MindSpore 版本為 1.0.1 。根據(jù)文檔并執(zhí)行代碼,我們很快就能實(shí)現(xiàn)一個(gè) LeNet 網(wǎng)絡(luò)并得到訓(xùn)練之后的模型。

      目前導(dǎo)出 MINDIR 格式模型文件基于前置步驟生成的 CheckPoint 文件。官方文檔建議使用.mindir作為MINDIR格式文件的后綴名。導(dǎo)出 MINDIR 格式文件的代碼如下:

      from?mindspore.train.serialization?import?export,?load_checkpoint,?load_param_into_net

      from?mindspore?import?Tensor

      import?numpy?as?np

      lenet?=?LeNet5()

      #?返回模型的參數(shù)字典

      param_dict?=?load_checkpoint("./models/ckpt/mindspore_save_model/lenet-1_1875.ckpt")

      #?加載參數(shù)到網(wǎng)絡(luò)

      load_param_into_net(lenet,?param_dict)

      input?=?np.random.uniform(0.0,?1.0,?size=[32,?1,?32,?32]).astype(np.float32)

      #?以指定的名稱和格式導(dǎo)出文件

      export(lenet,?Tensor(input),?file_name='lenet-1_1875.mindir',?file_format='MINDIR',)

      導(dǎo)出完成之后,在當(dāng)前目錄下會(huì)生成一個(gè)MINDIR格式文件,如下圖中名為lenet-1_1875.mindir的文件。

      當(dāng)然如果您想將 LeNet 模型導(dǎo)出為不同格式的文件,建議您進(jìn)行封裝,具體實(shí)踐請(qǐng)參考mindspore/model_zoo/official/cv/lenet/export.py

      訓(xùn)練ResNet50網(wǎng)絡(luò)導(dǎo)出MindIR格式模型

      官方文檔:使用ResNet-50網(wǎng)絡(luò)實(shí)現(xiàn)圖像分類

      有了上一次的在線體驗(yàn),在進(jìn)行訓(xùn)練ResNet50網(wǎng)絡(luò)導(dǎo)出MindIR格式模型的時(shí)候,可謂“輕車熟路”,同樣的點(diǎn)擊「Run in ModelArts」開始我們的云端AI開發(fā)之旅。這次我們使用的是ResNet-50網(wǎng)絡(luò),CIFAR-10數(shù)據(jù)集,依舊是 MIndSpore 1.0.1 版本,不過是 GPU 環(huán)境的。

      目前, ModelArts 中 「我的筆記本」要想使用 GPU 版本的 MIndSpore,好像暫時(shí)只有這個(gè)入口。 當(dāng)然,這個(gè)案例中并沒有實(shí)現(xiàn)將模型導(dǎo)出為 MindIR 格式,需要我們手動(dòng)添加,唯一值得注意的是 MindSpore 1.0.1 和 MIndSpore 1.1.0 中 導(dǎo)出的方法「export」放在不同的命名空間下,1.1.0版本的引入方法是

      from?mindspore?import?Tensor,?export,?load_checkpoint,?load_param_into_net

      而 1.1.0版本中的引入方法是

      from?mindspore.train.serialization?import?export,?load_checkpoint,?load_param_into_net

      因此,這里導(dǎo)出ResNet50網(wǎng)絡(luò) MindIR 格式的代碼為:

      from?resnet?import?resnet50

      from?mindspore.train.serialization?import?export,?load_checkpoint,?load_param_into_net

      from?mindspore?import?Tensor

      import?numpy?as?np

      resnet?=?resnet50(batch_size=32,?num_classes=10)

      #?return?a?parameter?dict?for?model

      param_dict?=?load_checkpoint("./models/ckpt/mindspore_vision_application/train_resnet_cifar10-10_1562.ckpt")

      #?load?the?parameter?into?net

      load_param_into_net(resnet,?param_dict)

      input?=?np.random.uniform(0.0,?1.0,?size=[32,?3,?224,?224]).astype(np.float32)

      export(resnet,?Tensor(input),?file_name='resnet_cifar10-10_1562.mindir',?file_format='MINDIR')

      不過這兩個(gè)在線案例導(dǎo)出之后的 MindIR 格式,我還沒來得及驗(yàn)證是否能正常使用。如果您知道快速驗(yàn)證的方法,請(qǐng)您分享與我,感謝大家多多指教!

      MindSpore 機(jī)器學(xué)習(xí) 深度學(xué)習(xí)

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:菜鳥的進(jìn)階之路:了解使用多線程
      下一篇:K8s集群證書的常見使用場景實(shí)踐
      相關(guān)文章
      国产亚洲午夜高清国产拍精品 | 亚洲成人在线免费观看| 亚洲一区视频在线播放| 亚洲AV香蕉一区区二区三区| 亚洲情a成黄在线观看动漫尤物| 亚洲AV无码专区在线播放中文| 亚洲国产一成人久久精品| 亚洲色欲色欲www在线丝| 亚洲精品二区国产综合野狼| 亚洲人成伊人成综合网久久久| 久久久久亚洲AV无码专区网站| 久久久久亚洲AV无码专区网站| 亚洲七七久久精品中文国产| 亚洲精品成人网久久久久久| 亚洲国产成人久久综合碰| 久久亚洲精品11p| 国产亚洲Av综合人人澡精品| 国产亚洲Av综合人人澡精品| 香蕉视频亚洲一级| 亚洲第一区精品日韩在线播放| 亚洲乱码日产精品a级毛片久久| 无码亚洲成a人在线观看| 国产成人亚洲精品播放器下载| 亚洲国产精品第一区二区三区| 亚洲日本在线观看视频| 亚洲色精品88色婷婷七月丁香| 国产亚洲美女精品久久久久狼| 国产aⅴ无码专区亚洲av| 亚洲免费视频网站| 亚洲精品美女在线观看| 亚洲欧洲日本国产| 亚洲国产成a人v在线观看| 亚洲欧美一区二区三区日产| 国产精品亚洲а∨无码播放麻豆| 亚洲AV成人无码网天堂| 亚洲精品成人区在线观看| 亚洲香蕉网久久综合影视| 亚洲av无码无在线观看红杏| 亚洲精品视频在线免费| 亚洲国产成人手机在线电影bd| 亚洲中文字幕无码中文|