TensorFlow ir Google galvenā mašīnmācības sistēma, un katra jaunā versija nodrošina plašu iespēju un funkciju klāstu. Pēc tam, kad esat sasniedzis mācīšanās līkni, varat rakstīt sarežģītas mašīnmācības lietojumprogrammas un izpildīt tās lielā ātrumā.
Taču pacelties uz augšu mācīšanās līknē nav viegli — ar lielu jaudu ir liela sarežģītība. Lai palīdzētu jums uzkāpt, jums ir jāzina TensorFlow datu tipi, TensorBoard utilīta un lietojumprogrammu izvietošana Google mašīnmācīšanās programmā.
TensorFlow pamatdatu veidi
Varat rakstīt TensorFlow lietojumprogrammas vairākās dažādās valodās, piemēram, Python, C++ un Java. Bet neatkarīgi no tā, kuru valodu izmantojat, jums ir jāpārzina vairāki TensorFlow specifiski datu tipi.
- Tenzori un vietturi: tensors ir Tensor klases eksemplārs, un tas kalpo kā vispārējas nozīmes daudzdimensiju masīvs. Vietturis ir arī tensors, taču tā vietā, lai inicializētu kodu, tas saņem datus no sesijas, kas būs derīgi vienas sesijas izpildes laikā. Vietturi ļauj atjaunināt tenzora saturu no vienas sesijas izpildes uz nākamo.
- Grafiki: diagramma ir konteiners, kas līdzīgs sarakstam vai kortei. Vienlaikus var būt aktīvs tikai viens grafiks, un, kodējot darbību, kas pieņem tenzorus vai mainīgos, tenzori, mainīgie un darbība tiek saglabāti kā elementi grafikā. Kad izveidojat optimizētāju un izsaucat tā minimizēšanas metodi, TensorFlow grafikā saglabā iegūto darbību.
- Sesijas . Grafikos tiek glabātas darbības, taču tie paši nevar veikt darbības. Tā vietā jums ir jāizveido sesija un jāizsauc tās palaišanas metode. Ja izsaucat palaist ar tensoru vai operāciju, metode izpildīs grafikā nepieciešamās darbības, lai iegūtu vēlamo rezultātu.
- Optimizētāji . Mašīnmācības mērķis ir pilnveidot reālās pasaules sistēmas matemātisko modeli, līdz tas pēc iespējas līdzinās sistēmai. Šo pilnveidošanas procesu sauc par optimizāciju, un pētnieki ir izstrādājuši daudzas optimizācijas metodes. TensorFlow atbalsta daudzus no šiem algoritmiem un katram nodrošina optimizētāja klasi. Neatkarīgi no klases varat iegūt optimizācijas darbību, izsaucot optimizētāja minimizēšanas metodi.
- Mainīgie lielumi . Atšķirībā no tensoriem un vietturiem, mainīgais ir mainīgo klases gadījums. Tās galvenais mērķis ir ietvert datus, kas ir jāatjaunina optimizācijas procesa laikā. Piemēram, ja jūsu lietojumprogramma modelē sistēmu ar taisnu līniju, līnijas slīpums un y- pārgriezums tiks saglabāti kā mainīgie. Bet, pirms varat izmantot mainīgos, lai optimizētu modeli, jums ir jāizveido un jāizpilda īpašas inicializācijas darbības.
- Aprēķini . Ja nevēlaties strādāt ar zema līmeņa datu struktūrām, piemēram, sesijām un diagrammām, varat izpildīt mašīnmācīšanās algoritmus, izmantojot TensorFlow aprēķinātāja API. Aprēķins ir novērtētāja klases gadījums, un katrs novērtētājs iemieso mašīnmācīšanās algoritmu. Galvenā aplēšu izmantošanas priekšrocība ir tā, ka tiem visiem ir vienas un tās pašas trīs metodes mašīnmācīšanās procesa uzsākšanai: apmācība, novērtēšana un prognozēšana.
Kā lietot TensorBoard programmā TensorFlow
Instalējot TensorFlow, instalētājs nodrošina arī komandrindas utilītu ar nosaukumu TensorBoard. Tas ģenerē diagrammas, kas ļauj vizualizēt TensorFlow lietojumprogrammas darbību. TensorBoard ļauj viegli atrast kļūdas programmās, taču to nav viegli lietot. Lai ģenerētu datus un skatītu diagrammas programmā TensorFlow, jums jāveic sešas darbības:
Izveidojiet kopsavilkuma darbības.
Lai varētu skatīt datus programmā TensorBoard, jums ir jāidentificē attēlojamie dati, izveidojot īpašas darbības, ko sauc par kopsavilkuma operācijām. Šīs darbības var izveidot, izsaucot pakotnes tf.summary funkcijas. Piemēram, varat izveidot kopsavilkuma darbību vienai vērtībai, izsaucot tf.summary.scalar. Varat izveidot kopsavilkuma darbību vērtību sērijai, izsaucot tf.summary.histogram. Varat apvienot darbības, izsaucot tādu funkciju kā tf.summary.merge_all.
Veiciet kopsavilkuma darbības.
Kad esat izveidojis vienu vai vairākas kopsavilkuma darbības, varat iegūt kopsavilkuma datus, izpildot darbības sesijā. Rezultātā sesija atgriezīs protokola buferi, kurā būs lietojumprogrammas kopsavilkuma dati.
Izveidojiet FileWriter.
Lai varētu drukāt kopsavilkuma datus failā, ir jāizveido FileWriter, izsaucot tf.summary.FileWriter. Šis konstruktors pieņem daudzus argumentus, taču vienīgais nepieciešamais arguments ir tā direktorija nosaukums, kurā ietverti kopsavilkuma dati.
Izdrukājiet kopsavilkuma datus.
FileWriter klasei nav vienkāršas drukāšanas metodes. Tā vietā jums ir jāizsauc FileWriter metode add_summary, lai failā drukātu kopsavilkuma datus. Šī metode ieraksta notikuma failu direktorijā, kas norādīts FileWriter konstruktorā. Pēc datu drukāšanas ieteicams izsaukt FileWriter aizvēršanas metodi, lai iznīcinātu gadījumu.
Palaidiet TensorBoard.
Pēc TensorFlow instalēšanas tensorboard utilīta tiek parādīta augstākā līmeņa skriptu direktorijā. Varat palaist utilītu, izpildot komandu tensorboard un iestatot logdir opciju tā direktorija nosaukumam, kurā ir kopsavilkuma dati. Piemēram, ja kopsavilkuma dati atrodas izvades direktorijā, varat palaist TensorBoard, komandrindā izpildot tensorboard –logdir=output.
Skatiet TensorBoard pārlūkprogrammā.
Pēc utilīta TensorBoard palaišanas varat skatīt tās saskarni, atverot pārlūkprogrammu. Noklusējuma URL ir http://localhost:6006, taču to var konfigurēt, iestatot resursdatora un porta opcijas tensorboard komandā.
Kā palaist TensorFlow mākonī
Labākais iemesls TensorFlow izmantošanai mašīnmācībā ir tas, ka varat palaist savas lietojumprogrammas mākonī. Konkrētāk, TensorFlow programmas varat izvietot mašīnmācības (ML) dzinējā, ko Google padara pieejamu kā daļu no Google mākoņu platformas (GCP). Šis izvietošanas process sastāv no septiņām darbībām:
Izveidojiet Google Cloud Platform projektu.
Strādājot ar GCP, projekts kalpo kā konfigurācijas iestatījumu un avota failu centrālais konteiners. Varat izveidot jaunu projektu, apmeklējot Google Cloud platformu , noklikšķinot uz Atlasīt projektu un dialoglodziņā Atlasīt noklikšķinot uz pluszīmes pogas. Jūs varat izvēlēties sava projekta nosaukumu, bet GSP iestata projekta ID, kas ir unikāls starp visiem GSP projektiem.
Iespējot piekļuvi ML Engine.
Katrs jauns GCP projekts var piekļūt vairākām Google iespējām, tostarp datu krātuvei un mākoņkrātuvei. Taču pēc noklusējuma GCP projekti nevar izvietot lietojumprogrammas ML Engine. Lai iespējotu piekļuvi, atveriet izvēlni projekta lapas augšējā kreisajā stūrī, atlasiet API un pakalpojumi un pēc tam noklikšķiniet uz Bibliotēka. Noklikšķiniet uz saites ar nosaukumu Google Cloud Machine Learning Engine un pēc tam noklikšķiniet uz pogas IESPĒJOT.
Instalējiet mākoņa programmatūras izstrādes komplektu (SDK).
GCP varat piekļūt no komandrindas, instalējot Google mākoņa SDK . Lai to lejupielādētu, noklikšķiniet uz savai operētājsistēmai atbilstošās saites. Kad instalēšana būs pabeigta, varēsit piekļūt SDK, komandrindā izpildot komandas gcloud.
Augšupielādējiet apmācību/prognožu datus mākoņkrātuvē.
ML Engine var piekļūt jūsu apmācības/prognožu datiem tikai tad, ja augšupielādējat tos Google mākoņkrātuvē. Varat mijiedarboties ar Cloud Storage no komandrindas, izmantojot utilītu gsutil, ko nodrošina Cloud SDK. Cloud Storage dati ir ietverti direktorijam līdzīgās struktūrās, ko sauc par spaiņiem, un, augšupielādējot failu spainī, datu struktūra tiek saukta par objektu.
Pievienojiet lietojumprogrammas pakotnei moduli setup.py.
Lai Python lietojumprogramma būtu pieejama ML Engine, tā jāstrukturē kā pakotne. Katras pakotnes augstākā līmeņa direktorijā ir jābūt modulim setup.py. Šim modulim ir jānodrošina kods setuptools.setup, kas nodrošina konfigurācijas informāciju ML Engine.
Sāciet apmācību darbu ML Engine.
Lai apmācītu savu modeli mākonī, jums ir jāuzsāk apmācības darbs, palaižot gcloud ml-engine jobs iesniegt apmācību ar atbilstošām opcijām. Opcijas ietver --package-path, kas identificē pakotnes atrašanās vietu, --module-name, kas nodrošina Python moduļa nosaukumu, un -job-dir, kas norāda ML Engine, kur saglabāt izvadi. Kad apmācība ir pabeigta, ML Engine izveidos SavedModel ar apmācītajiem rezultātiem.
Palaidiet prognozēšanas darbu ML Engine.
Kad esat ieguvis SavedModel, varat izmantot ML Engine, lai veiktu prognozēšanu, palaižot gcloud ml dzinēja darbus, iesniedzot prognozi ar atbilstošām opcijām. Opcijās ietilpst --input-paths, kas identificē projekta ievades failu atrašanās vietu, --data-format, kas norāda ML Engine, kā tiek formatēti ievades dati, un --output-path, kas nosaka, kur ir jābūt prognozes izvadei. jāuzglabā.