Industrial Machine Kudzidza: 10 Dhizaini Misimboti

Industrial Machine Kudzidza: 10 Dhizaini Misimboti

Mazuva ano, masevhisi matsva, maapplication uye zvimwe zvirongwa zvakakosha zvinogadzirwa zuva rega rega izvo zvinoita kuti zvikwanise kugadzira zvinoshamisa zvinhu: kubva software yekudzora SpaceX roketi kusvika pakubatana neketero mukamuri rinotevera kuburikidza ne smartphone.

Uye, dzimwe nguva, wega wega wekutanga programmer, angave ane shungu dzekutanga kana akajairwa Full Stack kana Data Scientist, munguva pfupi kana gare gare anosvika pakuziva kuti kune mimwe mitemo yekuronga uye kugadzira software inorerutsa zvakanyanya hupenyu.

Muchinyorwa chino, ini ndichatsanangura muchidimbu misimboti gumi yemagadzirirwo ekudzidza muchina weindasitiri kuitira kuti igone kubatanidzwa zviri nyore mukushandisa/sevhisi, zvichibva pane gumi nembiri App methodology. zvakakurudzirwa nechikwata cheHeroku. Chinhu changu ndechekuwedzera kuziva kwehunyanzvi uhu, hunogona kubatsira vazhinji vanogadzira uye data sainzi vanhu.

Ichi chinyorwa chirevo chenhevedzano yezvinyorwa nezve maindasitiri Muchina Kudzidza. Mavari ini ndichaenderera mberi nekutaura nezve nzira yekuita chaizvo modhi uye kuivhura mukugadzira, kugadzira API yayo, pamwe nemienzaniso kubva kunzvimbo dzakasiyana siyana uye makambani akavaka-muM ML mumasisitimu avo.

Musimboti 1: Imwe kodhi base

Vamwe vanogadzira pamatanho ekutanga, nekuda kwehusimbe hwekuzvifunga (kana nekuda kwechimwe chikonzero chavo), kanganwa nezveGit. Ivo vanogona kukanganwa zvachose izwi, ndiko kuti, vanokanda mafaera kune mumwe nemumwe mudhiraivha / kungokanda mameseji / kutumira nenjiva, kana kuti havafunge kuburikidza nekufamba kwavo kwekushanda, uye vanozvipira kune imwe neimwe kubazi ravo, uyezve kune master.

Iyi nheyo inoti: iva necodebase imwe uye akawanda deployments.

Git inogona kushandiswa zvese mukugadzira uye mukutsvaga nekusimudzira (R&D), mairi isingashandiswe kakawanda.

Semuyenzaniso, muchikamu cheR&D unogona kusiya macommit ane nzira dzakasiyana dzekugadzirisa data uye modhi, kuitira kuti wozosarudza yakanakisa uye nyore kuenderera mberi nekushanda nayo mberi.

Chechipiri, mukugadzira ichi chinhu chisingadzoreki - iwe uchafanirwa kugara uchitarisa kuti kodhi yako inoshanduka sei uye kuziva kuti ndeipi modhi yakaburitsa yakanakisa mhedzisiro, iyo kodhi yakashanda pakupedzisira uye chii chakaitika chakaita kuti imire kushanda kana kutanga kuburitsa mhedzisiro isiriyo. . Ndizvo zvinoita kuzvipira!

Iwe unogona zvakare kugadzira pasuru yepurojekiti yako, uchiiisa, semuenzaniso, paGemfury, uye wobva wangopinza mabasa kubva mairi kune mamwe mapurojekiti, kuti urege kuanyora zvakare ka1000, asi zvimwe pane izvo gare gare.

Musimboti 2: Zivisa zvakajeka uye bvisa zvinotsamira

Imwe neimwe purojekiti ine maraibhurari akasiyana ayo aunotora kubva kunze kuti uashandise kumwe kunhu. Kunyangwe ari maPython raibhurari, kana maraibhurari emimwe mitauro nekuda kwezvinangwa zvakasiyana, kana maturusi ehurongwa - basa rako ndere:

  • Zivisa zviripachena zvinotsamira, kureva, faira rinenge riine maraibhurari ese, maturusi, neshanduro dzawo dzinoshandiswa mupurojekiti yako uye dzinofanirwa kuiswa (semuenzaniso, muPython izvi zvinogona kuitwa uchishandisa Pipfile kana zvinodiwa.txt. A link inobvumira zvakanaka kunzwisisa: realpython.com/pipenv-guide)
  • Isolate kutsamira kune yako chirongwa panguva yekuvandudza. Iwe haudi kugara uchichinja mavhezheni uye kudzosera, semuenzaniso, Tensorflow?

Nenzira iyi, vanogadzira vanozobatana nechikwata chako mune ramangwana vanozokwanisa kukurumidza kujairana nemaraibhurari uye neshanduro dzawo dzinoshandiswa mupurojekiti yako, uye iwe zvakare uchave nemukana wekugadzirisa mavhezheni nemaraibhurari ega akaisirwa imwe chaiyo. purojekiti, iyo ichakubatsira iwe kudzivirira kusapindirana kwemaraibhurari kana shanduro dzawo.

Chishandiso chako hachifanirewo kuvimba nematurusi ehurongwa anogona kuiswa pane chaiyo OS. Zvishandiso izvi zvinofanirwawo kuziviswa mune zvinoenderana nekuratidzira. Izvi zvinodikanwa kuti udzivise mamiriro ezvinhu apo iyo vhezheni yezvishandiso (pamwe nekuwanikwa kwavo) haienderane nematurusi ehurongwa hweimwe OS.

Nekudaro, kunyangwe curl inogona kushandiswa pane angangoita ese makomputa, iwe unofanirwa kuramba uchiizivisa mukutsamira, sezvo kana uchitamira kune imwe puratifomu inogona kunge isipo kana iyo vhezheni haizove iyo yawaida pakutanga.

Semuenzaniso, yako requirements.txt inogona kutaridzika seizvi:

# 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

Chisungo 3: Magadzirirwo

Vazhinji vakanzwa nyaya dzevakomana vakasiyana-siyana vanogadzira kodhi netsaona kuGitHub mumatura eruzhinji nemapassword uye mamwe makiyi kubva kuAWS, vachimuka zuva rinotevera nechikwereti chemadhora zviuru zvitanhatu, kana kunyange madhora zviuru makumi mashanu.

Industrial Machine Kudzidza: 10 Dhizaini Misimboti

Zvechokwadi, nyaya idzi dzakanyanyisa, asi dzinokosha zvikuru. Kana iwe ukachengeta zvitupa zvako kana imwe dhata inodiwa kugadzirisa mukati mekodhi, uri kukanganisa, uye ndinofunga kuti hapana chikonzero chekutsanangura chikonzero.

Imwe nzira kune iyi ndeyekuchengetedza zvigadziriso muzvakasiyana siyana. Unogona kuverenga zvakawanda pamusoro pezvakasiyana siyana pano.

Mienzaniso yedata rinowanzo kuchengetwa munzvimbo dzakasiyana siyana:

  • Domain names
  • API URLs/URI's
  • Makiyi eruzhinji neakavanzika
  • Mazita (tsamba, mafoni, nezvimwewo)

Nenzira iyi haufanirwe kugara uchichinja kodhi kana zvigadziriso zvako zvichinja. Izvi zvichakubatsira kuchengetedza nguva, simba uye mari.

Semuenzaniso, kana ukashandisa Kaggle API kuita bvunzo (semuenzaniso, dhawunirodha software uye womhanyisa modhi kuburikidza nayo kuti uedze paunenge uchimhanyisa kuti modhi inoshanda nemazvo), ipapo makiyi akavanzika kubva kuKaggle, akadai KAGGLE_USERNAME uye KAGGLE_KEY, anofanira zvakachengetwa munzvimbo dzakasiyana.

Chisungo 4: Wechitatu Bato Masevhisi

Pfungwa iri pano ndeyekugadzira chirongwa nenzira yekuti hapana mutsauko pakati penzvimbo uye yechitatu-bato zviwanikwa maererano nekodhi. Semuenzaniso, unogona kubatanidza zvese zvemunharaunda MySQL uye yechitatu-bato. Izvo zvakafanana zvinoenda kune akasiyana maAPI akadai seGoogle Mepu kana Twitter API.

Kuti udzivise sevhisi yechitatu-bato kana kubatanidza imwe, iwe unongoda kushandura makiyi mukugadzirisa mune zvakatipoteredza zvinosiyana, izvo zvandakataura nezvazvo mundima iri pamusoro.

Saka, semuenzaniso, pachinzvimbo chekutsanangura nzira yekuenda kumafaira ane dataset mukati mekodhi nguva yega yega, zviri nani kushandisa pathlib raibhurari uye kuzivisa nzira inoenda kune datasets muconfig.py, kuitira kuti zvisinei kuti unoshandisa sevhisi ipi (ye semuenzaniso, CircleCI), chirongwa ichi chakakwanisa kutsvaga nzira yekuenda kune dataset ichifunga nezvechimiro cheiyo nyowani faira system musevhisi nyowani.

Nheyo 5. Kuvaka, kusunungura, nguva yekumhanya

Vanhu vazhinji muData Science vanoona zvichibatsira kuvandudza hunyanzvi hwavo hwekunyora software. Kana isu tichida kuti chirongwa chedu chiparare kashoma sezvinobvira uye kuti chishande pasina kutadza kwenguva yakareba sezvatinogona, isu tinofanirwa kupatsanura maitiro ekuburitsa vhezheni nyowani mumatanho matatu:

  1. Chikamu magungano. Iwe unoshandura yako isina kodhi kodhi nezviwanikwa zvega kuita iyo inonzi package ine ese anodiwa kodhi uye data. Pasuru iyi inonzi musangano.
  2. Chikamu kusunungurwa - pano isu tinobatanidza config yedu kugungano, pasina izvo isu taisazokwanisa kuburitsa chirongwa chedu. Ikozvino uku kusunungurwa kwakanyatso gadzirira-kutangisa.
  3. Kunotevera kunouya dariro kuzadzikiswa. Pano isu tinosunungura iyo application nekumhanyisa maitiro anodiwa kubva mukuburitswa kwedu.

Sistimu yakadaro yekuburitsa mavhezheni matsva emuenzaniso kana pombi yese inobvumidza iwe kuparadzanisa mabasa pakati pevatariri nevagadziri, inobvumidza iwe kuteedzera shanduro uye inodzivirira kusingadiwe kumira kwechirongwa.

Pabasa rekuburitsa, masevhisi mazhinji akasiyana akagadzirwa maunogona kunyora maitiro ekuzvimhanyisa mu.yml faira (semuenzaniso, muCircleCI iyi config.yml kutsigira maitiro acho pachayo). Wheely yakanaka pakugadzira mapakeji emapurojekiti.

Iwe unogona kugadzira mapakeji ane akasiyana vhezheni emuchina wako wekudzidza modhi, wobva waaisa uye wonongedzera kumapakeji anodiwa uye neshanduro dzawo kuti ushandise mabasa awakanyora kubva ipapo. Izvi zvichakubatsira iwe kugadzira API yemuenzaniso wako, uye pasuru yako inogona kugarwa paGemfury, semuenzaniso.

Musimboti 6. Mhanya modhi yako seimwe kana akawanda maitiro

Uyezve, maitiro haafanire kunge akagovana data. Ndiko kuti, maitiro anofanirwa kuvepo akaparadzana, uye marudzi ese e data anofanirwa kuvepo akaparadzana, semuenzaniso, pane yechitatu-bato masevhisi seMySQL kana mamwe, zvichienderana nezvaunoda.

Ndiko kuti, hazvina kukodzera kuchengetedza data mukati meiyo process faira system, zvikasadaro izvi zvinogona kutungamira mukucheneswa kweiyi data panguva yekuburitswa kunotevera / shanduko yezvigadziriso kana kutamiswa kweiyo system iyo chirongwa chinomhanya.

Asi pane zvakasara: kumapurojekiti ekudzidza muchina, unogona kuchengeta cache yemaraibhurari kuitira kuti urege kuidzosera pese paunotanga vhezheni itsva, kana pasina mamwe maraibhurari kana chero shanduko yakaitwa kune yavo shanduro. Nenzira iyi, iwe unozodzikisa nguva inotora kuvhura modhi yako muindasitiri.

Kumhanyisa modhi semaitiro akati wandei, unogona kugadzira .yml faira umo iwe unotsanangura maitiro anodiwa uye kutevedzana kwawo.

Chisungo chechinomwe: Kushandiswazve

Maitiro anomhanya mune yako modhi application anofanirwa kuve nyore kutanga nekumisa. Saka, izvi zvinokutendera kuti iwe nekukurumidza kuendesa shanduko yekodhi, shanduko yekuchinja, nekukurumidza uye kuchinjika kuyera, uye kudzivirira kuparara kunogona kuitika kweshanduro yekushanda.

Kureva, maitiro ako nemuenzaniso anofanira:

  • Deredza nguva yekutanga. Sezvineiwo, nguva yekutanga (kubva panguva yakapihwa murairo wekutanga kusvika panguva iyo maitiro anotanga kushanda) haifanirwe kunge inopfuura mashoma mashoma. Library caching, yakatsanangurwa pamusoro, ndiyo imwe nzira yekudzikisa nguva yekutanga.
  • Pedzisa nemazvo. Kureva kuti, kuteerera pachiteshi chebasa kunomiswa, uye zvikumbiro zvitsva zvinotumirwa kuchiteshi ichi hazvizogadziriswe. Pano iwe unofanirwa kuseta kutaurirana kwakanaka neDevOps mainjiniya, kana kunzwisisa kuti inoshanda sei iwe pachako (zvichida, hongu, iyo yekupedzisira, asi kutaurirana kunofanirwa kugara kuchichengetwa, mune chero chirongwa!)

Nheyo yechisere: Kuenderera Kuendesa / Kubatanidzwa

Makambani mazhinji anoshandisa kupatsanura pakati pekuvandudza kwekushandisa uye zvikwata zvekutumira (kuita kuti application iwanikwe kune vanopedzisa vashandisi). Izvi zvinogona kuderedza zvakanyanya kuvandudza software uye kufambira mberi mukunatsiridza. Iyo zvakare inoshatisa iyo DevOps tsika, uko kusimudzira uye kubatanidzwa, zviri kutaura, zvakasanganiswa.

Naizvozvo, iyi nheyo inotaura kuti nharaunda yako yekusimudzira inofanirwa kunge iri padyo sezvinobvira kune yako yekugadzira nharaunda.

Izvi zvinobvumira:

  1. Deredza nguva yekuburitsa nemakumi enguva
  2. Deredza huwandu hwekukanganisa nekuda kwekusapindirana kwekodhi.
  3. Izvi zvakare zvinodzikisira basa revashandi, sezvo vagadziri uye vanhu vari kuendesa chishandiso ikozvino chave timu imwe.

Zvishandiso zvinokutendera kuti ushande neiyi CircleCI, Travis CI, GitLab CI nevamwe.

Iwe unogona kukurumidza kuita mawedzero kune iyo modhi, kuivandudza, uye kuivhura nekukasira, nepo zvichange zviri nyore, kana paine kutadza, kudzoka nekukurumidza kushanduro yekushanda, kuitira kuti mushandisi wekupedzisira asatombozviona. Izvi zvinogona kuitwa kunyanya nyore uye nekukurumidza kana uine bvunzo dzakanaka.

Deredza misiyano !!!

Musimboti 9. matanda ako

Marogi (kana kuti "Logs") zviitiko, zvinowanzorekodhwa mune zvinyorwa, izvo zvinoitika mukati mekushandisa (chiitiko rwizi). Muenzaniso wakapfava: "2020-02-02 - system level - process name." Iwo akagadzirwa kuitira kuti mugadziri agone kuona chaizvo zviri kuitika kana chirongwa chiri kushanda. Anoona kufambira mberi kwemaitiro uye anonzwisisa kana zviri seizvo mugadziri wacho aida.

Iyi nheyo inotaura kuti haufanirwe kuchengetedza matanda ako mukati mefaira system yako - iwe unofanirwa kungo "kuburitsa" kune iyo skrini, semuenzaniso, ita izvi pane yakajairika system. Uye nenzira iyi zvichave zvichigoneka kutarisa kuyerera mune terminal panguva yekuvandudza.

Izvi zvinoreva here kuti hapana chikonzero chekuchengeta matanda zvachose? Chokwadi kwete. Chikumbiro chako hachifanirwe kuita izvi-chisiye kune wechitatu-bato masevhisi. Chishandiso chako chinogona kungoendesa matanda kune yakatarwa faira kana terminal yekuona-chaiyo-nguva, kana kuendesa kune yakajairika chinangwa chekuchengetedza data system (yakadai seHadoop). Yako application pachayo haifanire kuchengeta kana kudyidzana nematanda.

Nheyo 10. Muedzo!

Pakudzidza kwemaindasitiri emuchina, chikamu ichi chakakosha zvakanyanya, nekuti iwe unofanirwa kunzwisisa kuti modhi inoshanda nemazvo uye inogadzira zvawaida.

Miedzo inogona kugadzirwa uchishandisa pytest, uye kuedzwa uchishandisa diki dhata kana uine regression / classification basa.

Usakanganwa kuisa mhodzi imwechete yemhando dzekudzidza zvakadzama kuitira kuti irege kugara ichiburitsa mhedzisiro dzakasiyana.

Iyi yaive tsananguro pfupi yemisimboti gumi, uye, hongu, zvakaoma kuzvishandisa pasina kuedza nekuona mashandisiro avanoita, saka chinyorwa ichi chingori chirevo chenyaya dzinonakidza dzandicharatidza maitiro ekugadzira. maindasitiri emuchina wekudzidza modhi, maitiro ekuabatanidza mumasisitimu, uye kuti misimboti iyi inogona sei kuita kuti hupenyu huve nyore kwatiri tese.

Ini ndichaedzawo kushandisa misimboti inotonhorera iyo chero munhu anogona kusiya mune zvakataurwa kana achida.

Source: www.habr.com

Voeg