Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

ʻIke wau i nā ʻepekema ʻikepili he nui - a ʻo wau paha kekahi o lākou - e hana ana ma nā mīkini GPU, kūloko a virtual paha, aia i loko o ke ao, ma o ka Jupyter Notebook a i ʻole ma o kekahi ʻano o ka hoʻomohala Python. Ke hana nei no nā makahiki 2 ma ke ʻano he mea hoʻomohala loea ma AI / ML, ua hana pololei wau i kēia, ʻoiai e hoʻomākaukau ana i ka ʻikepili ma kahi kikowaena maʻamau a i ʻole workstation, a ke holo nei i ka hoʻomaʻamaʻa ʻana ma kahi mīkini virtual me kahi GPU ma Azure.

ʻOiaʻiʻo, ua lohe mākou a pau Ke aʻo ʻana i ka mīkini Azure - kahi paepae ao kūikawā no ke aʻo ʻana i ka mīkini. Eia naʻe, ma hope o ka nānā mua ʻana i ʻatikala hoʻolauna, Me he mea lā e hana ʻo Azure ML i nā pilikia hou aʻe no ʻoe ma mua o ka hoʻoponopono ʻana. No ka laʻana, i ka laʻana hoʻomaʻamaʻa i ʻōlelo ʻia ma luna nei, hoʻomaka ʻia ka hoʻomaʻamaʻa ʻana ma Azure ML mai Jupyter Notebook, aʻo ka palapala hoʻomaʻamaʻa ponoʻī e manaʻo ʻia e hana a hoʻoponopono ʻia ma ke ʻano he faila kikokikona i loko o kekahi o nā cell - me ka hoʻohana ʻole ʻana i ka autocompletion, syntax highlighting a me nā mea ʻē aʻe. nā pono o kahi hoʻomohala maʻamau. No kēia kumu, ʻaʻole mākou i hoʻohana koʻikoʻi iā Azure ML i kā mākou hana no ka manawa lōʻihi.

Eia naʻe, ua ʻike au i kahi ala e hoʻomaka ai e hoʻohana pono iā Azure ML i kaʻu hana! Makemake i nā kikoʻī?

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

ʻO ka mea huna nui Hoʻonui ʻia ʻo Visual Studio Code no Azure ML. Hāʻawi ia iā ʻoe e hoʻomohala pololei i nā palapala hoʻomaʻamaʻa ma VS Code, e hoʻohana pono ana i ke kaiapuni - a hiki iā ʻoe ke holo i kahi palapala ma ka ʻāina, a laila e hoʻouna wale iā ia e hoʻomaʻamaʻa ma kahi hui Azure ML me kekahi mau kaomi. Maikaʻi, ʻaʻole anei?

I ka hana ʻana, loaʻa iā ʻoe nā pōmaikaʻi aʻe mai ka hoʻohana ʻana iā Azure ML:

  • Hiki iā ʻoe ke hana i ka hapa nui o ka manawa kūloko ma kāu mīkini i kahi IDE kūpono, a hoʻohana i ka GPU no ka hoʻomaʻamaʻa hoʻohālike wale nō. I ka manawa like, hiki i ka wai o nā kumuwaiwai hoʻomaʻamaʻa ke hoʻololi maʻalahi i ka ukana i koi ʻia, a ma ka hoʻonohonoho ʻana i ka helu liʻiliʻi o nā nodes i 0, hiki iā ʻoe ke hoʻomaka i ka mīkini virtual "ma ke koi" inā aia nā hana aʻo.
  • oe hiki mālama i nā hopena aʻo a pau ma kahi hoʻokahi, me nā metric i loaʻa a me nā hiʻohiʻona hopena - ʻaʻohe pono e hele mai me kekahi ʻano ʻōnaehana a kauoha paha no ka mālama ʻana i nā hopena āpau.
  • pela Hiki i kekahi poʻe ke hana i hoʻokahi papahana - hiki iā lākou ke hoʻohana i ka pūʻulu computing like, e hoʻopaʻa ʻia nā hoʻokolohua āpau, a hiki iā lākou ke ʻike pū i nā hopena o nā hoʻokolohua a kekahi. ʻO kekahi o ia ʻano hiʻohiʻona me ka hoʻohana ʻana iā Azure ML i ke aʻo ʻana i ka Deep Learning, kahi ma kahi o ka hāʻawi ʻana i kēlā me kēia haumāna i kahi mīkini virtual me kahi GPU, hiki iā ʻoe ke hana i hoʻokahi puʻupuʻu e hoʻohana ʻia e nā mea āpau. Eia hou, hiki i ka papaʻaina maʻamau o nā hualoaʻa me ka pololei o ka hoʻohālike ke lilo i mea hoʻokūkū maikaʻi.
  • Ke hoʻohana nei iā Azure ML, hiki iā ʻoe ke holo maʻalahi i kahi ʻano o nā hoʻokolohua, e laʻa. hoʻopololei hyperparameter - hiki ke hana i kēia me kekahi mau laina code; ʻaʻohe pono e hana i nā hoʻokolohua me ka lima.

Manaʻo wau ua hōʻoia wau iā ʻoe e hoʻāʻo iā Azure ML! Eia pehea e hoʻomaka ai:

ʻO Azure ML Workspace a me Azure ML Portal

Hoʻonohonoho ʻia ʻo Azure ML a puni ka manaʻo wahi hana - Kahi hana. Hiki ke mālama ʻia ka ʻikepili i loko o ka lumi hana, hiki ke hoʻouna ʻia i nā hoʻokolohua no ka hoʻomaʻamaʻa ʻana, a mālama pū ʻia nā hopena hoʻomaʻamaʻa-ʻo nā metric a me nā hiʻohiʻona i loaʻa. Hiki iā ʻoe ke ʻike i ka mea i loko o ka papa hana me ka hoʻohana ʻana ʻO ka ʻīpuka ML Azure - a mai laila mai hiki iā ʻoe ke hana i nā hana he nui, mai ka hoʻouka ʻana i ka ʻikepili a i ka nānā ʻana i nā hoʻokolohua a me ka hoʻohana ʻana i nā hiʻohiʻona.

Hiki iā ʻoe ke hana i kahi wahi hana ma o ka pilina pūnaewele Puka Azure (e nānā i para. nā ʻōlelo aʻo ʻanuʻu), a i ʻole ka hoʻohana ʻana i ka laina kauoha Azure CLI (nā kuhikuhi):

az extension add -n azure-cli-ml
az group create -n myazml -l northeurope
az ml workspace create -w myworkspace -g myazml

Aia kekahi mau mea pili i ka papa hana punawai helu (ʻIke). Ke hana ʻoe i palapala e hoʻomaʻamaʻa i ke kumu hoʻohālike, hiki iā ʻoe hoʻouna i hoʻokolohua no ka hoʻokō i ka wahi hana, a hoakaka helu helu - i kēia hihia, e hoʻopaʻa ʻia ka palapala, e hoʻokuʻu ʻia i loko o ke kaiapuni kamepiula i makemake ʻia, a laila e mālama ʻia nā hopena a pau o ka hoʻokolohua i loko o ka lumi hana no ka nānā hou ʻana a me ka hoʻohana.

Palapala hoʻomaʻamaʻa no MNIST

E noʻonoʻo kākou i ka pilikia maʻamau ʻike huahelu lima lima me ka hoʻohana ʻana i ka ʻikepili MNIST. Pēlā nō, i ka wā e hiki mai ana e hiki iā ʻoe ke hoʻokō i kekahi o kāu mau palapala aʻo.

Aia kahi palapala i kā mākou waihona train_local.py, ka mea e hoʻomaʻamaʻa i ke kumu hoʻohālikelike laina maʻalahi me ka hoʻohana ʻana i ka waihona SkLearn. ʻOiaʻiʻo, maopopo iaʻu ʻaʻole kēia ke ala maikaʻi loa e hoʻoponopono ai i ka pilikia - hoʻohana mākou iā ia ma ke ʻano he laʻana, ʻo ia ka mea maʻalahi.

Hoʻoiho mua ka palapala i ka ʻikepili MNIST mai OpenML a laila hoʻohana i ka papa LogisticRegression e hoʻomaʻamaʻa i ke kumu hoʻohālike, a laila paʻi i ka pololei o ka hopena:

mnist = fetch_openml('mnist_784')
mnist['target'] = np.array([int(x) for x in mnist['target']])

shuffle_index = np.random.permutation(len(mist['data']))
X, y = mnist['data'][shuffle_index], mnist['target'][shuffle_index]

X_train, X_test, y_train, y_test = 
  train_test_split(X, y, test_size = 0.3, random_state = 42)

lr = LogisticRegression()
lr.fit(X_train, y_train)
y_hat = lr.predict(X_test)
acc = np.average(np.int32(y_hat == y_test))

print('Overall accuracy:', acc)

Hiki iā ʻoe ke holo i ka ʻatikala ma kāu kamepiula a i ʻelua mau kekona e loaʻa iā ʻoe ka hopena.

Ke holo nei i ka palapala ma Azure ML

Inā mākou e holo i ka palapala hoʻomaʻamaʻa ma o Azure ML, e loaʻa iā mākou ʻelua mau pono nui:

  • Ke holo nei i ka hoʻomaʻamaʻa ʻana ma kahi kumu hoʻopili helu ʻole, ʻoi aku ka maikaʻi ma mua o ka lolouila kūloko. Ma kēia hihia, ʻo Azure ML ponoʻī e mālama i ka hoʻopili ʻana i kā mākou palapala me nā faila a pau mai ka papa kuhikuhi o kēia manawa i loko o kahi pahu docker, hoʻokomo i nā hilinaʻi i koi ʻia, a hoʻouna ʻia no ka hoʻokō.
  • Kākau i nā hualoaʻa i hoʻokahi papa inoa i loko o kahi papa hana Azure ML. No ka hoʻohana pono ʻana i kēia hiʻohiʻona, pono mākou e hoʻohui i ʻelua mau laina o ke code i kā mākou palapala e hoʻopaʻa i ka pololei o ka hopena:

from azureml.core.run import Run
...
try:    
    run = Run.get_submitted_run()
    run.log('accuracy', acc)
except:
    pass

Kapa ʻia ka mana pili o ka palapala train_universal.py (ʻoi aku ka maʻalea o ka hoʻolālā ʻana ma mua o ka mea i hōʻike ʻia ma luna, akā ʻaʻole nui). Hiki ke holo ʻia kēia palapala ma ka ʻāina a ma kahi punawai helu mamao.

No ka holo ʻana ma Azure ML mai VS Code, pono ʻoe e hana i kēia:

  1. E hōʻoia i ka pili ʻana o ka Azure Extension i kāu kau inoa. E koho i ka ikona Azure mai ka papa kuhikuhi hema. Inā ʻaʻole ʻoe i pili, e ʻike ʻia kahi leka hoʻomaopopo ma ka ʻaoʻao ʻākau lalo (e like me kēia), ma ke kaomi ʻana i hiki iā ʻoe ke komo ma o ka polokalamu kele pūnaewele. Hiki iā ʻoe ke kaomi Ctrl-Shift-P e wehe i ka laina kauoha VS Code, a paʻi ʻEleʻele Azure.

  2. Ma hope o kēlā, ma ka ʻāpana Azure (ikona ma ka hema), e ʻimi i ka ʻāpana Aʻoaʻo Mīkini:

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning
Ma ʻaneʻi ʻoe e ʻike i nā hui like ʻole o nā mea i loko o ka lumi hana: nā kumuwaiwai computing, hoʻokolohua, etc.

  1. E hele i ka papa inoa o nā faila, kaomi pololei ma ka palapala train_universal.py a koho Azure ML: Holo e like me ka hoʻokolohua ma Azure.

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

  1. E hahai ʻia kēia e kahi ʻano o nā kamaʻilio ma ka laina kauoha VS Code: e hōʻoia i kāu kau inoa a me ka papa hana Azure ML, a koho. Hana i ka hoʻokolohua hou:

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning
Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning
Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

  1. E koho no ka hana ʻana i kahi punawai helu hou Hana i ka helu hou:

    • ʻIke e hoʻoholo i ka punawai helu e hoʻomaʻamaʻa ai. Hiki iā ʻoe ke koho i kahi kamepiula kūloko, a i ʻole ka puʻupuʻu ao AmlCompute. Manaʻo wau e hana i kahi pūʻulu mīkini hiki ke hoʻonui ʻia STANDARD_DS3_v2, me ka helu liʻiliʻi o nā mīkini 0 (a hiki ke kiʻekiʻe loa he 1 a ʻoi aku paha, ma muli o kou makemake). Hiki ke hana i kēia ma o ka VS Code interface, a i ʻole ma mua Puka ML.

    Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

  2. A laila pono ʻoe e koho i kahi hoʻonohonoho Hoʻopili helu, ka mea i wehewehe i nā palena o ka ipu i hana ʻia no ka hoʻomaʻamaʻa ʻana, ʻo ia hoʻi, nā hale waihona puke pono a pau. I kā mākou hihia, ʻoiai mākou e hoʻohana nei iā Scikit Learn, koho mākou SkLearn, a laila e hōʻoia i ka papa inoa o nā hale waihona puke ma ke kaomi ʻana iā Enter. Inā hoʻohana ʻoe i nā hale waihona puke ʻē aʻe, pono e kuhikuhi ʻia ma aneʻi.

    Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning
    Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

  3. Ma hope o kēia, e wehe ʻia kahi puka me kahi faila JSON e wehewehe ana i ka hoʻokolohua. Hiki iā ʻoe ke hoʻoponopono i kekahi mau palena i loko, no ka laʻana, ka inoa o ka hoʻokolohua. Ma hope o kēlā kaomi i ka loulou Hoʻouna i ka hoʻokolohua i loko o kēia faila:

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

  1. Ma hope o ka hoʻouna ʻana i kahi hoʻokolohua ma o VS Code, ma ka wahi hoʻolaha ma ka ʻākau e ʻike ʻoe i kahi loulou i Azure ML Portal, kahi e hiki ai iā ʻoe ke hahai i ke kūlana a me nā hopena o ka hoʻokolohua.

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning
Ma hope, hiki iā ʻoe ke loaʻa iā ia ma ka ʻāpana Hōʻike Azure ML Portal, a ma ka pauku Ke aʻo ʻana i ka mīkini Azure i ka papa inoa o nā hoʻokolohua:

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning

  1. Inā hoʻoponopono ʻoe i ke code a i ʻole nā ​​ʻāpana hoʻololi, ʻoi aku ka wikiwiki a me ka maʻalahi o ka holo hou ʻana i ka hoʻokolohua. Ma ke kaomi ʻana i ka faila, e ʻike ʻoe i kahi mea papa inoa hou E hana hou i ka holo hope - koho wale ia a hoʻomaka koke ka hoʻokolohua:

Pehea e lanakila ai i ka makaʻu a hoʻomaka e hoʻohana i ka Azure Machine Learning
Hiki iā ʻoe ke ʻike mau i nā hopena metric mai nā holo āpau ma ka Azure ML Portal; ʻaʻohe pono e hoʻopaʻa iā lākou.

I kēia manawa ua ʻike ʻoe i ka holo ʻana i nā hoʻokolohua me ka hoʻohana ʻana iā Azure ML he maʻalahi, ʻeha ʻole, a hele mai me kekahi mau pōmaikaʻi hoihoi.

Akā ua ʻike paha ʻoe i kekahi mau hemahema. No ka laʻana, ua lōʻihi loa ka holo ʻana i ka palapala. ʻOiaʻiʻo, ʻo ka hoʻopaʻa ʻana i ka palapala i loko o kahi pahu a me ka lawe ʻana i ke kikowaena e lawe i ka manawa. Inā hoʻemi ʻia ka puʻupuʻu i ka nui o nā nodes 0, ʻoi aku ka nui o ka manawa e hoʻomaka ai i ka mīkini virtual, a ʻike ʻia kēia mau mea āpau ke hoʻāʻo mākou i nā pilikia maʻalahi e like me MNIST, i hoʻoholo ʻia i loko o kekahi mau kekona. Eia nō naʻe, ma ke ola maoli, ke lōʻihi ka hoʻomaʻamaʻa ʻana i kekahi mau hola, a i ʻole nā ​​​​lā a i ʻole nā ​​​​wiki, lilo kēia manawa hou i mea ʻole, ʻoi aku ka maikaʻi ma ke kua o ka hana ʻoi aku ka kiʻekiʻe e hiki ai i kahi puʻupuʻu kamepiula ke hāʻawi.

He aha ka mea e hiki mai ana?

Manaʻo wau ma hope o ka heluhelu ʻana i kēia ʻatikala, hiki iā ʻoe ke hoʻohana a hoʻohana iā Azure ML i kāu hana e holo i nā palapala, mālama i nā kumuwaiwai helu, a mālama i nā hopena ma waena. Eia naʻe, hiki iā Azure ML ke hāʻawi iā ʻoe i nā pono hou aʻe!

Hiki iā ʻoe ke mālama i ka ʻikepili i loko o kahi lumi hana, a laila e hana i kahi waihona kikowaena no kāu mau hana āpau i maʻalahi ke komo. Eia hou, hiki iā ʻoe ke holo i nā hoʻokolohua me ka hoʻohana ʻana i ka API ma kahi o Visual Studio Code - hiki ke kōkua nui kēia inā pono ʻoe e hana i ka hyperparameter optimization a pono e holo i ka palapala i nā manawa he nui me nā ʻokoʻa like ʻole. Eia kekahi, kūkulu ʻia ka ʻenehana kūikawā i Azure ML hoʻokele hyper, ka mea e 'ae ai no ka 'imi 'ana a me ka ho'onui 'ana i nā hyperparameters. E kamaʻilio wau e pili ana i kēia mau mea hiki i kaʻu pou e hiki mai ana.

Nā Kumuwaiwai Pono

No ka aʻo hou aku e pili ana iā Azure ML, hiki iā ʻoe ke ʻike i nā haʻawina Microsoft Learn e pono ai:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka