Ọmụmụ Machine Machine: 10 Ụkpụrụ Nhazi

Ọmụmụ Machine Machine: 10 Ụkpụrụ Nhazi

N'oge a, a na-emepụta ọrụ ọhụrụ, ngwa na mmemme ndị ọzọ dị mkpa kwa ụbọchị nke na-eme ka o kwe omume ịmepụta ihe dị egwu: site na ngwanrọ maka ịchịkwa rọketi SpaceX na-emekọrịta ihe na kettle n'ime ụlọ na-esote site na smartphone.

Na, mgbe ụfọdụ, ọ bụla novice mmemme, ma ọ bụ a omiiko startupper ma ọ bụ nkịtị Full Stack ma ọ bụ Data Scientist, mee elu mee ma ọ bụ mgbe e mesịrị na-abịa ghọta na e nwere ụfọdụ iwu maka mmemme na ịmepụta software na-eme ka ndụ dị mfe.

N'edemede a, m ga-akọwa nkenke ụkpụrụ 10 nke otu esi eme mmemme mmụta igwe ụlọ ọrụ ka enwere ike itinye ya ngwa ngwa n'ime ngwa / ọrụ, dabere na usoro 12-factor App. Ndị otu Heroku tụrụ aro. Ebumnuche m bụ ịbawanye mmata nke usoro a, nke nwere ike inyere ọtụtụ ndị mmepe na ndị sayensị data aka.

Edemede a bụ okwu mmalite maka usoro isiokwu gbasara mmụta igwe mmepụta ihe. N'ime ha, m ga-ekwukwu banyere otu esi eme ihe nlereanya ma malite ya n'ime mmepụta, mepụta API maka ya, yana ihe atụ sitere na mpaghara dị iche iche na ụlọ ọrụ ndị wuru ML na usoro ha.

Ụkpụrụ 1: Otu ntọala koodu

Ụfọdụ ndị mmemme na ọkwa mbụ, n'ihi umengwụ iji chọpụta ya (ma ọ bụ n'ihi ihe ụfọdụ nke onwe ha), chefuo Git. Ha na-echefu okwu ahụ kpamkpam, ya bụ, ha na-atụba faịlụ na ibe ha na ụgbọala / na-atụba ederede / ziga nduru, ma ọ bụ na ha echeghị echiche site na usoro ọrụ ha, ma nyefee onye ọ bụla n'alaka nke ya, wee gaa na nna ukwu.

Ụkpụrụ a na-ekwu: nwere otu codebase na ọtụtụ ntinye.

Enwere ike iji Git ma na mmepụta yana nyocha na mmepe (R&D), nke anaghị eji ya eme ihe mgbe niile.

Dịka ọmụmaatụ, n'ime usoro R&D, ị nwere ike ịhapụ itinye aka na ụzọ nhazi data dị iche iche na ụdị, ka ịhọrọ nke kachasị mma wee gaa n'ihu na-arụ ọrụ na ya n'ụzọ dị mfe.

Nke abuo, na mmepụta nke a bụ ihe na-enweghị ike dochie anya - ị ga-achọ ka ị na-ele anya mgbe niile ka koodu gị si agbanwe ma mara ụdị nke mepụtara nsonaazụ kacha mma, nke koodu na-arụ ọrụ na njedebe na ihe mere ka ọ kwụsị ịrụ ọrụ ma ọ bụ malite ịmepụta nsonaazụ na-ezighi ezi. . Nke ahụ bụ ihe nkwa maka!

Ị nwekwara ike ịmepụta ngwugwu nke ọrụ gị, tinye ya, dịka ọmụmaatụ, na Gemfury, wee na-ebubata ọrụ site na ya maka ọrụ ndị ọzọ, ka ị ghara idegharị ha ugboro 1000, ma ọzọ na nke ahụ mgbe e mesịrị.

Ụkpụrụ 2: Kwuwapụta nke ọma ma kewapụ ihe ndabere

Ọrụ ọ bụla nwere ọba akwụkwọ dị iche iche nke ị na-ebubata site n'èzí iji tinye ha ebe. Ma ọ bụ ọba akwụkwọ Python, ma ọ bụ ọba akwụkwọ nke asụsụ ndị ọzọ maka ebumnuche dị iche iche, ma ọ bụ ngwaọrụ sistemụ - ọrụ gị bụ:

  • Kwupụta n'ụzọ doro anya dabere, ya bụ, faịlụ nke ga-enwe ọba akwụkwọ niile, ngwaọrụ, na ụdị ha a na-eji n'ọrụ gị yana nke a ga-etinyerịrị (dịka ọmụmaatụ, na Python nke a nwere ike iji Pipfile ma ọ bụ chọrọ.txt. njikọ nke na-enye ohere nghọta: realpython.com/pipenv-guide)
  • Kewapụ ihe ndabere maka mmemme gị n'oge mmepe. Ịchọghị ịgbanwe nsụgharị mgbe niile wee wụnye, dịka ọmụmaatụ, Tensorflow?

N'ụzọ dị otú a, ndị mmepe nke ga-esonyere ndị otu gị n'ọdịnihu ga-enwe ike ịmara ngwa ngwa na ụlọ akwụkwọ na nsụgharị ha nke a na-eji na ọrụ gị, ị ga-enwekwa ohere ijikwa nsụgharị na ụlọ akwụkwọ n'onwe ha arụnyere maka kpọmkwem. oru ngo, nke ga-enyere gị aka izere ndakọrịta nke ụlọ akwụkwọ ma ọ bụ nsụgharị ha.

Ngwa gị ekwesịghịkwa ịdabere na ngwaọrụ sistemụ nwere ike ịwụnye na otu OS. A ga-ekwupụtakwa ngwa ọrụ ndị a n'akwụkwọ nkwado ndabere. Nke a dị mkpa iji zere ọnọdụ ebe ụdị ngwaọrụ (yana nnweta ha) adabaghị na ngwaọrụ sistemụ nke otu OS.

Yabụ, ọbụlagodi na enwere ike iji curl na kọmpụta niile, ị ka kwesịrị ikwuwapụta ya na ndabere, ebe ọ bụ na mgbe ị na-akwaga n'elu ikpo okwu ọzọ ọ nwere ike ọ gaghị adị ebe ahụ ma ọ bụ ụdị ahụ agaghị abụ nke ịchọrọ na mbụ.

Dịka ọmụmaatụ, ihe ị chọrọ.txt nwere ike ịdị ka nke a:

# Model Building Requirements
numpy>=1.18.1,<1.19.0
pandas>=0.25.3,<0.26.0
scikit-learn>=0.22.1,<0.23.0
joblib>=0.14.1,<0.15.0

# testing requirements
pytest>=5.3.2,<6.0.0

# packaging
setuptools>=41.4.0,<42.0.0
wheel>=0.33.6,<0.34.0

# fetching datasets
kaggle>=1.5.6,<1.6.0

Ụkpụrụ 3: Nhazi

Ọtụtụ anụla akụkọ banyere ndị mmepe dị iche iche na-ebugo koodu GitHub na mberede n'ime ebe nchekwa ọha nwere okwuntughe na igodo ndị ọzọ sitere na AWS, na-eteta n'echi ya na ụgwọ nke $6000, ma ọ bụ ọbụna $50000.

Ọmụmụ Machine Machine: 10 Ụkpụrụ Nhazi

N'ezie, ikpe ndị a dị oke egwu, mana ọ dị oke mkpa. Ọ bụrụ na ị na-echekwa nzere gị ma ọ bụ data ndị ọzọ achọrọ maka nhazi n'ime koodu ahụ, ị ​​na-emehie ihe, echekwara m na ọ dịghị mkpa ịkọwa ihe kpatara ya.

Nhọrọ ọzọ na nke a bụ ịchekwa nhazi na mgbanwe gburugburu ebe obibi. Ị nwere ike ịgụkwu gbasara mgbanwe gburugburu ebe obibi ebe a.

Ọmụmatụ nke data a na-echekwakarị na mgbanwe gburugburu:

  • Aha ngalaba
  • API URLs/URI
  • Igodo ọha na nke nzuzo
  • Kọntaktị (mail, ekwentị, wdg)

N'ụzọ dị otú a, ịkwesighi ịgbanwe koodu mgbe niile ma ọ bụrụ na mgbanwe nhazi gị gbanwere. Nke a ga-enyere gị aka ịzọpụta oge, mgbalị na ego.

Dịka ọmụmaatụ, ọ bụrụ na ị na-eji Kaggle API mee ule (dịka ọmụmaatụ, budata ngwanro ma mee ihe nlereanya site na ya iji nwalee mgbe ị na-agba ọsọ na ihe nlereanya ahụ na-arụ ọrụ nke ọma), mgbe ahụ igodo nzuzo sitere na Kaggle, dị ka KAGGLE_USERNAME na KAGGLE_KEY, kwesịrị ịbụ echekwara na mgbanwe gburugburu ebe obibi.

Ụkpụrụ 4: Ọrụ Ndị Ọzọ

Echiche ebe a bụ ịmepụta mmemme ahụ n'ụzọ na-enweghị ihe dị iche n'etiti akụrụngwa mpaghara na nke atọ n'ihe gbasara koodu. Dịka ọmụmaatụ, ịnwere ike ijikọ ma MySQL mpaghara yana ndị nke atọ. Otu ihe ahụ na-aga maka API dị iche iche dịka Google Maps ma ọ bụ Twitter API.

Iji gbanyụọ ọrụ ndị ọzọ ma ọ bụ jikọọ ọzọ, naanị ịkwesịrị ịgbanwe igodo dị na nhazi na mgbanwe gburugburu ebe obibi, nke m kwuru na paragraf dị n'elu.

Ya mere, dịka ọmụmaatụ, kama ịkọwa ụzọ faịlụ nwere datasets n'ime koodu oge ọ bụla, ọ ka mma iji ọbá akwụkwọ pathlib ma kwupụta ụzọ na datasets na config.py, nke mere na n'agbanyeghị ọrụ ị na-eji (maka). ihe atụ, CircleCI), mmemme ahụ nwere ike ịchọpụta ụzọ nke datasets na-eburu n'uche nhazi nke usoro faịlụ ọhụrụ na ọrụ ọhụrụ ahụ.

Ụkpụrụ 5. Wulite, hapụ, oge ịgba ọsọ

Ọtụtụ ndị mmadụ nọ na Sayensị Data na-ahụ na ọ bara uru iji melite nka ide ngwanrọ ha. Ọ bụrụ na anyị chọrọ ka mmemme anyị daa dị ka obere o kwere mee ma rụọ ọrụ na-enweghị ọdịda ruo ogologo oge enwere ike, anyị kwesịrị kewaa usoro nke ịtọhapụ ụdị ọhụrụ n'ime usoro 3:

  1. Nkeji mgbakọ. Ị na-eji akụrụngwa nke onwe gị na-agbanwe koodu efu gị ka ọ bụrụ ngwugwu a na-akpọ nke nwere koodu na data niile dị mkpa. A na-akpọ ngwugwu a mgbakọ.
  2. Nkeji mwepụta - ebe a, anyị jikọọ anyị config na mgbakọ, na-enweghị nke anyị agaghị enwe ike ịhapụ mmemme anyị. Ugbu a nke a bụ ntọhapụ dị njikere kpamkpam.
  3. Na-abịa ogbo mmezu. N'ebe a, anyị na-ahapụ ngwa ahụ site na ịme usoro ndị dị mkpa na ntọhapụ anyị.

Usoro dị otú ahụ maka ịhapụ nsụgharị ọhụrụ nke ihe nlereanya ma ọ bụ pipeline dum na-enye gị ohere ikewapụ ọrụ n'etiti ndị nchịkwa na ndị mmepe, na-enye gị ohere soro nsụgharị ma gbochie nkwụsị nke mmemme ahụ na-achọghị.

Maka ọrụ ntọhapụ, e mepụtala ọtụtụ ọrụ dị iche iche nke ị nwere ike ide usoro iji mee onwe gị na faịlụ .yml (dịka ọmụmaatụ, na CircleCI nke a bụ config.yml iji kwado usoro ahụ n'onwe ya). Wheely dị mma na ịmepụta ngwugwu maka ọrụ.

Ị nwere ike ịmepụta ngwungwu nwere ụdị mmụta igwe gị dị iche iche, wee chịkọta ha ma zoo aka na ngwugwu ndị dị mkpa na nsụgharị ha iji jiri ọrụ ndị ị si ebe ahụ dee. Nke a ga-enyere gị aka ịmepụta API maka ihe nlereanya gị, yana ngwugwu gị nwere ike ịkwado na Gemfury, dịka ọmụmaatụ.

Ụkpụrụ 6. Gbaa ihe nlereanya gị dị ka otu usoro ma ọ bụ karịa

Ọzọkwa, usoro ekwesịghị ịkekọrịta data. Ya bụ, usoro ga-adị iche iche, na ụdị data niile ga-adị iche iche, dịka ọmụmaatụ, na ọrụ ndị ọzọ dị ka MySQL ma ọ bụ ndị ọzọ, dabere n'ihe ị chọrọ.

Ya bụ, ọ bụghị n'ezie na ọ bụghị uru na-echekwa data n'ime usoro faịlụ usoro, ma ọ bụghị na nke a nwere ike iduga ikpochapụ nke a data n'oge ọzọ ntọhapụ / mgbanwe nke nhazi ma ọ bụ nyefe nke usoro nke usoro ihe omume na-agba ọsọ.

Mana enwere ihe dị iche: maka ọrụ mmụta igwe, ị nwere ike ịchekwa oghere nke ọba akwụkwọ ka ị ghara itinyegharị ha oge ọ bụla ị malitere ụdị ọhụrụ, ma ọ bụrụ na enweghị ụlọ akwụkwọ ọzọ ma ọ bụ mgbanwe ọ bụla emere na ụdị ha. N'ụzọ dị otú a, ị ga-ebelata oge ọ na-ewe iji malite ihe nlereanya gị na ụlọ ọrụ.

Iji mee ihe nlereanya dị ka ọtụtụ usoro, ị nwere ike ịmepụta faịlụ .yml nke ị na-akọwapụta usoro dị mkpa na usoro ha.

Ụkpụrụ 7: Nrụgharịgharị

Usoro ndị na-agba ọsọ na ngwa ihe nlereanya gị kwesịrị ịdị mfe ịmalite ma kwụsị. Ya mere, nke a ga-enye gị ohere itinye ngwa ngwa mgbanwe koodu, mgbanwe nhazi, ngwa ngwa na ngbanwe nha, ma gbochie ndakpọ nke ụdị ọrụ.

Ya bụ, usoro gị na ihe nlereanya kwesịrị:

  • Wedata oge mmalite. Dị ka o kwesịrị, oge mmalite (site na mgbe e nyere iwu mmalite ahụ ruo mgbe usoro ahụ na-arụ ọrụ) kwesịrị ịbụ ihe karịrị sekọnd ole na ole. Caching ọba akwụkwọ, nke akọwara n'elu, bụ otu usoro maka ibelata oge mmalite.
  • Kwụsị nke ọma. Ya bụ, a kwụsịtụrụ ige ntị n'ọdụ ụgbọ mmiri ọrụ, a gaghị ahazi arịrịọ ọhụrụ a na-enye n'ọdụ ụgbọ mmiri a. N'ebe a, ịkwesịrị ịtọlite ​​​​nkwurịta okwu dị mma na ndị injinia DevOps, ma ọ bụ ghọta otú o si arụ ọrụ n'onwe gị (ọkacha mma, n'ezie, nke ikpeazụ, mana nkwurịta okwu kwesịrị ịnọgide na-enwe mgbe niile, na ọrụ ọ bụla!)

Ụkpụrụ 8: Na-aga n'ihu na ntinye/njikota

Ọtụtụ ụlọ ọrụ na-eji nkewa n'etiti mmepe ngwa na ndị otu ntinye (na-eme ka ngwa ahụ dị maka ndị ọrụ njedebe). Nke a nwere ike belata mmepe ngwanrọ yana ọganihu n'imeziwanye ya. Ọ na-emebikwa omenala DevOps, ebe mmepe na ntinye aka, na-ekwu okwu siri ike, jikọtara ọnụ.

Ya mere, ụkpụrụ a na-ekwu na gburugburu mmepe gị kwesịrị ịdị nso dịka o kwere mee na gburugburu ebe mmepụta gị.

Nke a ga-ekwe:

  1. Belata oge ntọhapụ site na iri ugboro iri
  2. Belata ọnụ ọgụgụ nke mperi n'ihi enweghị ndakọrịta koodu.
  3. Nke a na-ebelatakwa ibu ọrụ na ndị ọrụ, ebe ọ bụ na ndị mmepe na ndị na-ebuga ngwa a bụ otu ìgwè ugbu a.

Ngwa ndị na-enye gị ohere ịrụ ọrụ na nke a bụ CircleCI, Travis CI, GitLab CI na ndị ọzọ.

Ị nwere ike ngwa ngwa na-eme ka mgbakwunye na ihe nlereanya ahụ, melite ya, ma malite ya ozugbo, mgbe ọ ga-adị mfe, ọ bụrụ na ọ dị njọ, ịlaghachi ngwa ngwa na ụdị ọrụ, nke mere na onye ọrụ njedebe adịghị achọpụta ya. Enwere ike ime nke a n'ụzọ dị mfe na ngwa ngwa ma ọ bụrụ na ị nwere ezigbo ule.

Wetuo ndịiche!!!

Ụkpụrụ 9. Ndekọ gị

Ndekọ (ma ọ bụ "Logs") bụ mmemme, na-edekọkarị n'ụdị ederede, nke na-eme n'ime ngwa (iyi omume). Ọmụmaatụ dị mfe: "2020-02-02 - ọkwa sistemụ - aha nhazi." A haziri ha ka onye nrụpụta wee hụ ihe na-eme mgbe mmemme ahụ na-agba ọsọ. Ọ na-ahụ ọganihu nke usoro ma ghọta ma ọ bụ dị ka onye mmepụta n'onwe ya zubere.

Ụkpụrụ a na-ekwu na ị gaghị echekwa ndekọ gị n'ime sistemụ faịlụ gị - naanị ị ga-etinye ya na ihuenyo, dịka ọmụmaatụ, mee nke a na mmepụta ọkọlọtọ nke sistemụ. Na n'ụzọ dị otú a, ọ ga-ekwe omume iji nyochaa ọsọ na njedebe n'oge mmepe.

Nke a ọ pụtara na ọ dịghị mkpa ịchekwa ndekọ ma ọlị? Ọ bụghị n'ezie. Ngwa gị ekwesịghị ime nke a - hapụ ya na ọrụ ndị ọzọ. Ngwa gị nwere ike ibugharị ndekọ naanị na otu faịlụ ma ọ bụ ọnụ maka nlele ozugbo, ma ọ bụ zipu ya na sistemụ nchekwa data ebumnuche izugbe (dị ka Hadoop). Ngwa gị n'onwe ya agaghị echekwa ma ọ bụ mekọrịta ndekọ.

Ụkpụrụ 10. Nwale!

Maka mmụta igwe mmepụta ihe, usoro a dị oke mkpa, ebe ọ bụ na ịkwesịrị ịghọta na ihe nlereanya ahụ na-arụ ọrụ nke ọma ma mepụta ihe ịchọrọ.

Enwere ike ịmepụta ule site na iji pytest, ma nwalee site na iji obere dataset ma ọ bụrụ na ị nwere ọrụ nlọghachi azụ / nhazi ọkwa.

Echefula ịtọ otu mkpụrụ maka ụdị mmụta mmụta miri emi ka ha wee ghara ịmịpụta nsonaazụ dị iche iche mgbe niile.

Nke a bụ nkọwa dị nkenke nke ụkpụrụ 10, na, n'ezie, ọ na-esiri ike iji ha na-agbalịghị ma hụ otú ha si arụ ọrụ, ya mere, isiokwu a bụ naanị okwu mmalite nke isiokwu na-adọrọ mmasị nke m ga-ekpughe otú e si emepụta. ụlọ ọrụ mmepụta ihe ụdị mmụta igwe , otu esi ejikọta ha na usoro, na otú ụkpụrụ ndị a nwere ike isi mee ka ndụ dịkwuo mfe maka anyị niile.

M ga-agbalịkwa iji ụkpụrụ mara mma nke onye ọ bụla nwere ike ịhapụ na nkọwa ma ọ bụrụ na ọ chọrọ.

isi: www.habr.com

Tinye a comment