MindSpore是一個(gè)全場(chǎng)景深度學(xué)習(xí)框架,向數(shù)據(jù)科學(xué)家和算法工程師提供了統(tǒng)一的模型訓(xùn)練、推理和導(dǎo)出等接口。目前提供了Python編程范式,使用它可以更加方便地構(gòu)建復(fù)雜的神經(jīng)網(wǎng)絡(luò)模型,讓AI編程變得簡(jiǎn)單。有著靜態(tài)圖模式和動(dòng)態(tài)圖模式兩種執(zhí)行模式,同時(shí)提供了統(tǒng)一的編碼方式,增加了靜態(tài)圖和動(dòng)態(tài)圖的可兼容性,讓用戶可以隨時(shí)切換兩種模式。軟件API友好、調(diào)試難度低,高效執(zhí)行的特點(diǎn)深受開發(fā)人員的喜愛(ài)。
軟件特色
【簡(jiǎn)單的開發(fā)體驗(yàn)】
幫助開發(fā)者實(shí)現(xiàn)網(wǎng)絡(luò)自動(dòng)切分,只需串行表達(dá)就能實(shí)現(xiàn)并行訓(xùn)練,降低門檻,簡(jiǎn)化開發(fā)流程。
使用該深度學(xué)習(xí)、ai、人工智能框架的優(yōu)勢(shì)之靈活的調(diào)試模式
【靈活的調(diào)試模式】
具備訓(xùn)練過(guò)程靜態(tài)執(zhí)行和動(dòng)態(tài)調(diào)試能力,開發(fā)者通過(guò)變更一行代碼即可切換模式,快速在線定位問(wèn)題。
使用該深度學(xué)習(xí)、ai、人工智能框架的優(yōu)勢(shì)之充分發(fā)揮硬件潛能
【充分發(fā)揮硬件潛能】
最佳匹配昇騰處理器,最大程度地發(fā)揮硬件能力,幫助開發(fā)者縮短訓(xùn)練時(shí)間,提升推理性能。
使用該深度學(xué)習(xí)、ai、人工智能框架的優(yōu)勢(shì)之全場(chǎng)景快速部署
【全場(chǎng)景快速部署】
支持云、邊緣和手機(jī)上的快速部署,實(shí)現(xiàn)更好的資源利用和隱私保護(hù),讓開發(fā)者專注于AI應(yīng)用的創(chuàng)造。
層次結(jié)構(gòu)
MindSpore向用戶提供了3個(gè)不同層次的API,支撐用戶進(jìn)行網(wǎng)絡(luò)構(gòu)建、整圖執(zhí)行、子圖執(zhí)行以及單算子執(zhí)行,從低到高分別為L(zhǎng)ow-Level Python API、Medium-Level Python API以及High-Level Python API。
♦Low-Level Python API
第一層為低階API,主要包括張量定義、基礎(chǔ)算子、自動(dòng)微分等模塊,用戶可使用低階API輕松實(shí)現(xiàn)張量定義和求導(dǎo)計(jì)算,例如用戶可通過(guò)Tensor接口自定義張量,使用ops.composite模塊下的GradOperation算子計(jì)算函數(shù)在指定處的導(dǎo)數(shù)。
♦Medium-Level Python API
第二層為中階API,其封裝了低價(jià)API,提供網(wǎng)絡(luò)層、優(yōu)化器、損失函數(shù)等模塊,用戶可通過(guò)中階API靈活構(gòu)建神經(jīng)網(wǎng)絡(luò)和控制執(zhí)行流程,快速實(shí)現(xiàn)模型算法邏輯,例如用戶可調(diào)用Cell接口構(gòu)建神經(jīng)網(wǎng)絡(luò)模型和計(jì)算邏輯,通過(guò)使用loss模塊和Optimizer接口為神經(jīng)網(wǎng)絡(luò)模型添加損失函數(shù)和優(yōu)化方式,利用dataset模塊對(duì)數(shù)據(jù)進(jìn)行處理以供模型的訓(xùn)練和推導(dǎo)使用。
♦High-Level Python API
第三層為高階API,其在中階API的基礎(chǔ)上又提供了訓(xùn)練推理的管理、混合精度訓(xùn)練、調(diào)試調(diào)優(yōu)等高級(jí)接口,方便用戶控制整網(wǎng)的執(zhí)行流程和實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練推理及調(diào)優(yōu),例如用戶使用Model接口,指定要訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型和相關(guān)的訓(xùn)練設(shè)置,對(duì)神經(jīng)網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,通過(guò)Profiler接口調(diào)試神經(jīng)網(wǎng)絡(luò)性能。
通用場(chǎng)景
【快速入門】
通過(guò)一個(gè)實(shí)際樣例實(shí)現(xiàn)手寫數(shù)字的識(shí)別,帶領(lǐng)大家體驗(yàn)MindSpore基礎(chǔ)的功能,一般來(lái)說(shuō),完成整個(gè)樣例實(shí)踐會(huì)持續(xù)20~30分鐘。
面向?qū)<业耐ㄓ脠?chǎng)景教程之圖像分類
【圖像分類】
結(jié)合CIFAR-10數(shù)據(jù)集,講解MindSpore如何處理圖像分類任務(wù)。
面向?qū)<业耐ㄓ脠?chǎng)景教程之情感分析
【情感分析】
構(gòu)建一個(gè)自然語(yǔ)言處理的模型,通過(guò)文本分析和推理實(shí)現(xiàn)情感分析,完成對(duì)文本的情感分類。
【生態(tài)合作】
開發(fā)者體驗(yàn)(昇騰環(huán)境)
在云上ModelArts AI開發(fā)平臺(tái)搶鮮體驗(yàn)昇騰資源
【開源合作】
MindSpore社區(qū)期待各位開發(fā)者的加入
【高校合作】
MindSpore誠(chéng)摯邀請(qǐng)您加入華為沃土高校教研AI扶持計(jì)劃。
基礎(chǔ)使用教程
一、實(shí)現(xiàn)一個(gè)圖片分類應(yīng)用
1、處理需要的數(shù)據(jù)集,這里使用了MNIST數(shù)據(jù)集。
2、定義一個(gè)網(wǎng)絡(luò),這里我們使用LeNet網(wǎng)絡(luò)。
3、定義損失函數(shù)和優(yōu)化器。
4、加載數(shù)據(jù)集并進(jìn)行訓(xùn)練,訓(xùn)練完成后,查看結(jié)果及保存模型文件。
5、加載保存的模型,進(jìn)行推理。
6、驗(yàn)證模型,加載測(cè)試數(shù)據(jù)集和訓(xùn)練后的模型,驗(yàn)證結(jié)果精度。
二、實(shí)現(xiàn)簡(jiǎn)單線性函數(shù)擬合
回歸問(wèn)題算法通常是利用一系列屬性來(lái)預(yù)測(cè)一個(gè)值,預(yù)測(cè)的值是連續(xù)的。例如給出一套房子的一些特征數(shù)據(jù),如面積、臥室數(shù)等等來(lái)預(yù)測(cè)房?jī)r(jià),利用最近一周的氣溫變化和衛(wèi)星云圖來(lái)預(yù)測(cè)未來(lái)的氣溫情況等。如果一套房子實(shí)際價(jià)格為500萬(wàn)元,通過(guò)回歸分析的預(yù)測(cè)值為499萬(wàn)元,則認(rèn)為這是一個(gè)比較好的回歸分析。在機(jī)器學(xué)習(xí)問(wèn)題中,常見(jiàn)的回歸分析有線性回歸、多項(xiàng)式回歸、邏輯回歸等。本例子介紹線性回歸算法,并通過(guò)MindSpore進(jìn)行線性回歸AI訓(xùn)練體驗(yàn)。
整體流程如下:
1、生成數(shù)據(jù)集
2、定義訓(xùn)練網(wǎng)絡(luò)
3、定義前向傳播網(wǎng)絡(luò)與反向傳播網(wǎng)絡(luò)并關(guān)聯(lián)
4、擬合過(guò)程可視化準(zhǔn)備
5、執(zhí)行訓(xùn)練
三、加載模型用于推理或遷移學(xué)習(xí)
1、用于推理驗(yàn)證
針對(duì)僅推理場(chǎng)景可以使用load_checkpoint把參數(shù)直接加載到網(wǎng)絡(luò)中,以便進(jìn)行后續(xù)的推理驗(yàn)證。
示例代碼如下:
resnet = ResNet50()
load_checkpoint("resnet50-2_32.ckpt", net=resnet)
dateset_eval = create_dataset(os.path.join(mnist_path, "test"), 32, 1) # define the test dataset
loss = CrossEntropyLoss()
model = Model(resnet, loss, metrics={"accuracy"})
acc = model.eval(dataset_eval)
load_checkpoint方法會(huì)把參數(shù)文件中的網(wǎng)絡(luò)參數(shù)加載到模型中。加載后,網(wǎng)絡(luò)中的參數(shù)就是CheckPoint保存的。
eval方法會(huì)驗(yàn)證訓(xùn)練后模型的精度。
2、用于遷移學(xué)習(xí)
針對(duì)任務(wù)中斷再訓(xùn)練及微調(diào)(Fine Tune)場(chǎng)景,可以加載網(wǎng)絡(luò)參數(shù)和優(yōu)化器參數(shù)到模型中。
示例代碼如下:
# return a parameter dict for model
param_dict = load_checkpoint("resnet50-2_32.ckpt")
resnet = ResNet50()
opt = Momentum()
# load the parameter into net
load_param_into_net(resnet, param_dict)
# load the parameter into operator
load_param_into_net(opt, param_dict)
loss = SoftmaxCrossEntropyWithLogits()
model = Model(resnet, loss, opt)
model.train(epoch, dataset)
load_checkpoint方法會(huì)返回一個(gè)參數(shù)字典。
load_param_into_net會(huì)把參數(shù)字典中相應(yīng)的參數(shù)加載到網(wǎng)絡(luò)或優(yōu)化器中。
精品推薦
-
IntelliJ IDEA 2019
詳情 -
Microsoft VC++6.0安裝包
詳情 -
Microsoft VC++2015版運(yùn)行庫(kù)
詳情 -
VC++2019運(yùn)行庫(kù)
詳情 -
RobotStudio
詳情 -
Intel Visual Fortran
詳情 -
Microsoft Visual Studio 2022
詳情 -
Microsoft VC++2010運(yùn)行庫(kù)安裝包
詳情 -
Ghidra反匯編
詳情 -
WeDo 2.0
詳情 -
西門子step7編程軟件
詳情 -
Dependency Walker
詳情 -
Vijeo designer basic
詳情 -
Arduino IDE
詳情 -
Thonny編輯器
詳情 -
豐煒Ladder Master
詳情
-
7 ENFI下載器
裝機(jī)必備軟件
網(wǎng)友評(píng)論