FluidSynth】FluidSynth 簡(jiǎn)介 ( 相關(guān)資源鏈接 | 簡(jiǎn)介 | 特征 )">【FluidSynth】FluidSynth 簡(jiǎn)介 ( 相關(guān)資源鏈接 | 簡(jiǎn)介 | 特征 )
919
2025-04-03
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)容。