TensorFlow er fyrsti rammi Google fyrir vélanám og hver ný útgáfa býður upp á fjölbreytt úrval af möguleikum og eiginleikum. Eftir að þú hefur farið upp á námsferilinn geturðu skrifað háþróuð vélanámsforrit og keyrt þau á miklum hraða.
En það er ekki auðvelt að stíga upp námsferilinn - með miklum krafti fylgir mikill margbreytileiki. Til að hjálpa þér í klifri þinni þarftu að vera meðvitaður um gagnategundir TensorFlow, TensorBoard tólið og uppsetningu forrita á vélanámsvél Google.
Grundvallargagnategundir í TensorFlow
Þú getur skrifað TensorFlow forrit á mörgum mismunandi tungumálum, eins og Python, C++ og Java. En sama hvaða tungumál þú notar, þú þarft að þekkja röð TensorFlow-sértækra gagnategunda:
- Tensorar og staðgengillar: Tensor er tilvik af Tensor-flokknum og það þjónar sem alhliða fjölvíddarfylki. Staðgengill er líka Tensor, en í stað þess að vera frumstilltur í kóða fær hann gögn frá lotu sem munu gilda í einni framkvæmd lotunnar. Staðgenglar gera það mögulegt að uppfæra efni tensor frá einni lotuframkvæmd til annarrar.
- Línurit: Línurit er ílát svipað og lista eða tupel. Aðeins eitt línurit getur verið virkt í einu og þegar þú kóðar aðgerð sem tekur við tensorum eða breytum eru tensorarnir, breyturnar og aðgerðin geymd sem þættir í línuritinu. Þegar þú býrð til fínstillingu og kallar lágmarksaðferð hans, geymir TensorFlow aðgerðina sem myndast í línuritinu.
- Fundir . Línurit geyma aðgerðir, en þær geta ekki framkvæmt aðgerðir sjálfar. Í staðinn þarftu að búa til lotu og kalla keyrsluaðferð hennar. Ef þú kallar keyrslu með tensor eða aðgerð mun aðferðin framkvæma aðgerðirnar á línuritinu sem þarf til að fá þá niðurstöðu sem óskað er eftir.
- Fínstillingar . Markmið vélanáms er að betrumbæta stærðfræðilegt líkan af raunverulegu kerfi þar til það líkist kerfinu eins vel og hægt er. Þetta fínstillingarferli er kallað hagræðing og vísindamenn hafa fundið upp margar hagræðingaraðferðir. TensorFlow styður mörg af þessum reikniritum og býður upp á fínstillingarflokk fyrir hvern. Burtséð frá flokki geturðu fengið fínstillingaraðgerð með því að kalla á lágmarksaðferð fínstillingar.
- Breytur . Ólíkt tensorum og staðhöldum er breyta tilvik af Variable-flokknum. Megintilgangur þess er að innihalda gögn sem á að uppfæra meðan á hagræðingarferlinu stendur. Til dæmis, ef forritið þitt líkir kerfi með beinni línu, geymir þú halla línunnar og y -skurð sem breytur. En áður en þú getur notað breytur til að fínstilla líkan þarftu að búa til og framkvæma sérstakar frumstillingaraðgerðir.
- Áætlanir . Ef þú vilt frekar ekki takast á við gagnauppbyggingu á lágu stigi eins og lotur og línurit, geturðu framkvæmt reiknirit fyrir vélanám með því að nota TensorFlow's Estimator API. Áætlun er tilvik af bekknum Estimator og hver matsmaður felur í sér vélrænt reiknirit. Helsti kosturinn við að nota áætlana er að þeir hafa allir sömu þrjár aðferðir til að hefja vélnámsferlið: þjálfa, meta og spá fyrir.
Hvernig á að nota TensorBoard í TensorFlow
Þegar þú setur upp TensorFlow býður uppsetningarforritið einnig upp stjórnlínuforrit sem heitir TensorBoard. Þetta býr til söguþræði sem gera þér kleift að sjá virkni TensorFlow forritsins þíns. TensorBoard gerir það auðvelt að finna villur í forritunum þínum, en það er ekki auðvelt í notkun. Til að búa til gögn og skoða lóðirnar í TensorFlow þarftu að framkvæma sex skref:
Búðu til yfirlitsaðgerðir.
Áður en þú getur skoðað gögn í TensorBoard þarftu að bera kennsl á gögnin sem á að birta með því að búa til sérstakar aðgerðir sem kallast yfirlitsaðgerðir. Þú getur búið til þessar aðgerðir með því að kalla á aðgerðir tf.summary pakkans. Til dæmis er hægt að búa til yfirlitsaðgerð fyrir eitt gildi með því að kalla tf.summary.scalar. Hægt er að búa til yfirlitsaðgerð fyrir röð gilda með því að kalla tf.summary.histogram. Þú getur sameinað aðgerðir með því að kalla aðgerð eins og tf.summary.merge_all.
Framkvæma yfirlitsaðgerðir.
Eftir að þú hefur búið til eina eða fleiri yfirlitsaðgerðir geturðu fengið samantektargögnin með því að framkvæma aðgerðirnar í lotu. Þess vegna mun lotan skila samskiptareglum sem inniheldur yfirlitsgögn forritsins.
Búðu til FileWriter.
Áður en þú getur prentað samantektargögnin í skrá þarftu að búa til FileWriter með því að hringja í tf.summary.FileWriter. Þessi smiður tekur við mörgum rökum, en einu nauðsynlegu rökin eru nafnið á möppunni sem inniheldur yfirlitsgögnin.
Prentaðu samantektargögnin.
FileWriter flokkurinn hefur ekki einfalda prentaðferð. Þess í stað þarftu að kalla á add_summary aðferð FileWriter til að prenta samantektargögn í skrá. Þessi aðferð skrifar atburðaskrána í möppuna sem tilgreind er í FileWriter smiðnum. Eftir að þú hefur prentað gögnin er góð hugmynd að hringja í lokaaðferð FileWriter til að eyða tilvikinu.
Ræstu TensorBoard.
Eftir að þú hefur sett upp TensorFlow birtist tensorboard tólið í forskriftaskránni á efstu stigi. Þú getur ræst tólið með því að framkvæma tensorboard skipunina og stilla logdir valmöguleikann á nafn möppunnar sem inniheldur yfirlitsgögnin. Til dæmis, ef samantektargögnin eru í úttaksskránni, geturðu ræst TensorBoard með því að keyra tensorboard –logdir=úttak á skipanalínu.
Skoða TensorBoard í vafra.
Eftir að þú hefur ræst TensorBoard tólið geturðu skoðað viðmót þess með því að opna vafra. Sjálfgefin vefslóð er http://localhost:6006, en þú getur stillt þetta með því að stilla hýsingar- og portvalkosti í tensorboard skipuninni.
Hvernig á að keyra TensorFlow í skýinu
Besta ástæðan fyrir því að nota TensorFlow fyrir vélanám er sú að þú getur keyrt forritin þín í skýinu. Nánar tiltekið geturðu sett TensorFlow forrit á vélina (ML) vélina, sem Google gerir aðgengilega sem hluta af Google Cloud Platform (GCP). Þetta dreifingarferli samanstendur af sjö skrefum:
Búðu til Google Cloud Platform verkefni.
Þegar þú vinnur með GCP, þjónar verkefni sem miðlægur ílát fyrir stillingar og upprunaskrár. Þú getur búið til nýtt verkefni með því að fara á Google Cloud pallinn , smella á Velja verkefni og smella á plúshnappinn í Velja valmyndinni. Þú getur valið heiti verkefnisins þíns, en GCP setur auðkenni verkefnisins, sem er einstakt meðal allra GCP verkefna.
Virkjaðu aðgang að ML Engine.
Sérhvert nýtt GCP verkefni hefur aðgang að fjölda eiginleika Google, þar á meðal Datastore og Cloud Storage. En sjálfgefið, GCP verkefni geta ekki sett forrit á ML Engine. Til að virkja aðgang, opnaðu valmyndina efst til vinstri á verkefnasíðunni, veldu API og þjónustur og smelltu síðan á Bókasafn. Smelltu á hlekkinn sem ber yfirskriftina Google Cloud Machine Learning Engine og smelltu síðan á VIRKJA hnappinn.
Settu upp Cloud Software Development Kit (SDK).
Þú getur fengið aðgang að GCP frá skipanalínu með því að setja upp Google Cloud SDK . Til að hlaða niður þessu skaltu smella á viðeigandi tengil fyrir stýrikerfið þitt. Þegar uppsetningunni er lokið muntu geta fengið aðgang að SDK með því að keyra gcloud skipanir á skipanalínu.
Hladdu upp þjálfunar-/spágögnum í Cloud Storage.
ML Engine hefur aðeins aðgang að þjálfunar-/spágögnum þínum ef þú hleður þeim upp í skýjageymslu Google. Þú getur haft samskipti við Cloud Storage frá skipanalínu í gegnum gsutil tólið sem Cloud SDK býður upp á. Cloud Storage gögn eru í möppulíkum mannvirkjum sem kallast fötu og þegar þú hleður upp skrá í fötu er gagnauppbyggingin kölluð hlutur.
Bættu við setup.py einingu í pakka forritsins þíns.
Til að gera Python forrit aðgengilegt fyrir ML Engine þarftu að skipuleggja það sem pakka. Hver pakki þarf að hafa setup.py einingu í möppunni á efstu stigi. Þessi eining þarf að gefa upp kóða fyrir setuptools.setup, sem veitir stillingarupplýsingar til ML Engine.
Ræstu þjálfunarstarf fyrir ML Engine.
Til að þjálfa líkanið þitt í skýinu þarftu að ræsa þjálfunarstarf með því að keyra gcloud ml-vél störf senda þjálfun með viðeigandi valkostum. Valkostir fela í sér --package-path, sem auðkennir staðsetningu pakkans, --module-name, sem gefur upp nafn Python einingarinnar, og –job-dir, sem segir ML Engine hvar á að geyma úttak. Þegar þjálfun er lokið mun ML Engine framleiða SavedModel sem inniheldur þjálfaðar niðurstöður.
Ræstu spávinnu fyrir ML Engine.
Eftir að þú hefur fengið SavedModel geturðu notað ML Engine til að framkvæma spá með því að keyra gcloud ml-engine verk sem senda inn spá með viðeigandi valkostum. Valkostir fela í sér --inntaksslóðir, sem auðkennir staðsetningu inntaksskráa verkefnisins, --gagnasnið, sem segir ML vélinni hvernig inntaksgögnin eru sniðin og --úttaksslóð, sem auðkennir hvar spáúttakið ætti að vera geymdur.