MindSpore簡(jiǎn)介

      網(wǎng)友投稿 919 2025-04-03

      MindSpore簡(jiǎn)介


      MindSpore可以做模型的自動(dòng)切分這一點(diǎn)讓人印象深刻。當(dāng)然,還有很多特點(diǎn),比如自動(dòng)微分、支持動(dòng)態(tài)圖+靜態(tài)圖,等等。如果希望了解更多,請(qǐng)看MindSpore官網(wǎng):

      MindSpore www.mindspore.cn/

      對(duì)于個(gè)人來(lái)講,去年便對(duì)MindSpore有簡(jiǎn)單了解,做過(guò)一些其與TensorFlow、PyTorch的對(duì)比分析。因?yàn)榇饲吧形撮_源,只能基于公開的文檔做調(diào)研而已。

      而三月底,在HDC大會(huì)時(shí),華為正式開源了MindSpore的源碼和相應(yīng)的文檔。因而有機(jī)會(huì)實(shí)際拿來(lái)運(yùn)行看看,本文將介紹如何在Windows平臺(tái)安裝和搭建MindSpore,同時(shí)訓(xùn)練一個(gè)小的網(wǎng)絡(luò)(LeNet)。

      安裝MindSpore

      截至今天,MindSpore官網(wǎng)建議的安裝操作系統(tǒng)為EulerOS和Ubuntu,并不包括Windows。而不幸的是我的這臺(tái)Lenovo游戲主機(jī)是Windows 10的系統(tǒng)。

      仔細(xì)了下文檔,發(fā)現(xiàn)實(shí)際上MindSpore是支持Windows平臺(tái)的[1],只不過(guò)只能以CPU的模式運(yùn)行(暫時(shí)不支持Windows平臺(tái)的GPU)。如果希望嘗試MindSpore對(duì)GPU的支持,需要使用Ubuntu系列或者華為的EulerOS(這也不是本文的重點(diǎn))。

      下面進(jìn)入安裝的正題。

      安裝Anaconda

      非常推薦使用Anaconda作為Python虛擬環(huán)境的管理。

      你可以去Anaconda官網(wǎng)下載,一路Next即可。如果遇到問(wèn)題,可適當(dāng)參考這里。

      由于Anaconda的安裝過(guò)程簡(jiǎn)單直觀,這里不詳述了。

      創(chuàng)建MindSpore的Python Env

      目前MindSpore僅僅支持Python 3.7.5,下面創(chuàng)建的pyhton env就叫做mindspore:

      conda create -n mindspore python=3.7.5

      安裝MindSpore

      下載MindSpore的whl文件,-見這里,目前只有一個(gè)0.1.0的版本

      mindspore-0.1.0-cp37-cp37m-win_amd64.whl

      在mindspore這個(gè)python env里執(zhí)行:

      conda activate mindspore

      # 此時(shí)你應(yīng)該在mindspore-0.1.0-cp37-cp37m-win_amd64.whl這個(gè)文件的目錄里

      pip install mindspore-0.1.0-cp37-cp37m-win_amd64.whl

      注意,這里很多同學(xué)反應(yīng)安裝過(guò)程很慢,甚至有失敗的情況,基本都是網(wǎng)絡(luò)惹得禍。因?yàn)榘惭b上面的whl文件時(shí)會(huì)按照一些依賴的libraries,如果你的pip是默認(rèn)源的話,在國(guó)內(nèi)的網(wǎng)絡(luò)下載時(shí)可能遇到問(wèn)題的。一個(gè)解決辦法是重試(yes, just retry),另一個(gè)辦法是把pip源切換為國(guó)內(nèi)的源,比如清華源。具體方法見這里:

      Tsinghua Open Source Mirror mirror.tuna.tsinghua.edu.cn/help/pypi/正在上傳…重新上傳取消

      一個(gè)臨時(shí)的辦法可以是:

      pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mindspore-0.1.0-cp37-cp37m-win_amd64.whl

      驗(yàn)證Spore安裝是否成功

      python

      >>> import mindspore as ms

      >>> print(ms.__version__)

      # 如果成功,上面應(yīng)該打印 0.1.0

      訓(xùn)練一個(gè)LeNet

      華為官方已經(jīng)在其MindSpore Doc這個(gè)Repo里內(nèi)置了一些examples,比如LeNet。

      直接Fork吧:

      git clone https://github.com/mindspore-ai/docs.git

      如果你和我一樣懶,僅僅下載lenet.py也可以,路徑如下:

      https://github.com/mindspore-ai/docs/blob/master/tutorials/tutorial_code/lenet.py

      訓(xùn)練LeNet

      因?yàn)檫@個(gè)代碼里默認(rèn)使用的訓(xùn)練設(shè)備為Ascend,所以需要手動(dòng)設(shè)置一下--device_target為CPU:

      python lenet.py --device_target CPU

      MindSpore用LeNet訓(xùn)練MNIST

      大約十幾秒就可以跑完一個(gè)Epoch了:

      ******Downloading the MNIST dataset******

      ============== Starting Training ==============

      epoch: 1 step: 1, loss is 2.3008137

      epoch: 1 step: 2, loss is 2.299688

      epoch: 1 step: 3, loss is 2.309444

      epoch: 1 step: 4, loss is 2.3006275

      epoch: 1 step: 5, loss is 2.3028035

      epoch: 1 step: 6, loss is 2.302422

      epoch: 1 step: 7, loss is 2.3067183

      epoch: 1 step: 8, loss is 2.3057096

      epoch: 1 step: 9, loss is 2.3042586

      epoch: 1 step: 10, loss is 2.303799

      ...

      ...

      ...

      epoch: 1 step: 1870, loss is 0.15847126

      epoch: 1 step: 1871, loss is 0.12955114

      epoch: 1 step: 1872, loss is 0.15605931

      epoch: 1 step: 1873, loss is 0.28985676

      epoch: 1 step: 1874, loss is 0.14183074

      epoch: 1 step: 1875, loss is 0.05726877

      ============== Starting Testing ==============

      ============== Accuracy:{'Accuracy': 0.9625400641025641} ==============

      看看Accuracy,已經(jīng)到96.25%,還可以~

      我們觀察一下這個(gè)目錄,會(huì)看到同時(shí)還保存了模型文件(.ckpt和.meta)還有train、val時(shí)的pb文件,具體待后面再講。

      04/25/2020 12:21 PM 494,155 checkpoint_lenet-1_1875.ckpt

      04/25/2020 12:20 PM 15,033 checkpoint_lenet-graph.meta

      04/25/2020 02:36 PM 4,831 ms_output_0eval.pb

      04/25/2020 02:36 PM 15,878 ms_output_0train.pb

      避坑指南

      也許在上面你會(huì)遇到MNIST數(shù)據(jù)集下載的問(wèn)題。

      以我自己為例,在電信的寬帶下載MNIST幾乎是龜速,實(shí)在沒(méi)法忍,想起此前在其他Repo下載過(guò)這個(gè)數(shù)據(jù)集的幾個(gè)gz文件。于是copy進(jìn)lenet.py里定義的路徑:

      train_path = "./MNIST_Data/train/"

      test_path = "./MNIST_Data/test/"

      需要注意的是需要分別copy?train-*到./MNIST_Data/train,?t10k-*到./MNIST_Data/test

      如果你之前沒(méi)下載過(guò),你可以直接在這里下載下面這個(gè)link的MNIST_DATA的壓縮包,解壓到lenet.py的同級(jí)目錄即可:

      https://gitee.com/loveunk/mindspore/blob/master/example/_lenet_demo/MNIST_Data.zip

      如果本文對(duì)你有幫助,歡迎“三連”~

      MindSpore TensorFlow 機(jī)器學(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)容。

      版權(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)容。

      上一篇:WPS表格辦公—隔行提取表格數(shù)據(jù)的方法(wps表格怎么隔行粘貼數(shù)據(jù))
      下一篇:如何將數(shù)據(jù)復(fù)制到Excel中另一個(gè)工作表的下一個(gè)空行?
      相關(guān)文章
      亚洲av乱码中文一区二区三区| 亚洲免费福利视频| 亚洲精品美女久久久久久久| 亚洲精品成人网站在线播放| 久久久久亚洲AV无码麻豆| 精品亚洲永久免费精品| 亚洲精品国产精品乱码在线观看 | 国产亚洲老熟女视频| 亚洲成av人片一区二区三区| 婷婷综合缴情亚洲狠狠尤物| 亚洲国产精品无码观看久久| 亚洲爆乳精品无码一区二区| 色欲aⅴ亚洲情无码AV蜜桃| 精品国产亚洲第一区二区三区 | 亚洲AV日韩AV无码污污网站 | 亚洲人成在线影院| 亚洲国产精品va在线播放| 亚洲成a人片在线观看中文动漫| 国产亚洲人成无码网在线观看| 亚洲成av人在线视| 亚洲人成电影福利在线播放| 老汉色老汉首页a亚洲| 亚洲理论在线观看| 亚洲AV无码无限在线观看不卡| 亚洲色大成网站www久久九| 久久精品国产亚洲AV电影网| 亚洲国产精品无码久久青草 | 国产偷国产偷亚洲清高动态图| 精品国产日韩亚洲一区| 国产亚洲婷婷香蕉久久精品| 亚洲专区在线视频| 亚洲av永久无码嘿嘿嘿| 亚洲色偷偷色噜噜狠狠99| 理论亚洲区美一区二区三区| 中文字幕亚洲日本岛国片| 亚洲Av无码精品色午夜| 亚洲电影唐人社一区二区| 亚洲真人无码永久在线观看| 国产成人亚洲精品无码AV大片| 成人亚洲性情网站WWW在线观看| 久久久久亚洲AV无码专区首|