TensorFlow është korniza kryesore e Google për mësimin e makinerive dhe çdo version i ri sjell një gamë të gjerë aftësish dhe veçorish. Pasi të keni ngjitur kurbën e të mësuarit, mund të shkruani aplikacione të sofistikuara të mësimit të makinerive dhe t'i ekzekutoni ato me shpejtësi të lartë.
Por ngritja e kurbës së të mësuarit nuk është e lehtë – me fuqi të madhe vjen një kompleksitet i madh. Për t'ju ndihmuar në ngjitjen tuaj, duhet të jeni të vetëdijshëm për llojet e të dhënave të TensorFlow, programin e TensorBoard dhe vendosjen e aplikacioneve në Motorin e Mësimit të Makinerisë të Google.
Llojet themelore të të dhënave në TensorFlow
Ju mund të shkruani aplikacione TensorFlow në një sërë gjuhësh të ndryshme, si Python, C++ dhe Java. Por pavarësisht se cilën gjuhë përdorni, duhet të njiheni me një sërë llojesh të dhënash specifike për TensorFlow:
- Tensorët dhe mbajtësit e vendndodhjes: Një tensor është një shembull i klasës Tensor dhe shërben si një grup shumëdimensional me qëllim të përgjithshëm. Një vendmbajtës është gjithashtu një Tensor, por në vend që të inicializohet në kod, ai merr të dhëna nga një seancë që do të jetë e vlefshme gjatë një ekzekutimi të sesionit. Vendmbajtësit bëjnë të mundur përditësimin e përmbajtjes së tensorit nga një ekzekutim i sesionit në tjetrin.
- Grafikët: Një grafik është një enë e ngjashme me një listë ose një tuple. Vetëm një grafik mund të jetë aktiv në të njëjtën kohë, dhe kur kodoni një operacion që pranon tensorë ose variabla, tensorët, variablat dhe operacioni ruhen si elementë në grafik. Kur krijoni një optimizues dhe thërrisni metodën e tij të minimizimit, TensorFlow ruan operacionin që rezulton në grafik.
- Seancat . Grafikët ruajnë operacionet, por ata nuk mund të kryejnë operacione vetë. Në vend të kësaj, ju duhet të krijoni një sesion dhe të telefononi metodën e tij të ekzekutimit. Nëse thërrisni run me një tensor ose operacion, metoda do të ekzekutojë operacionet në grafik që nevojiten për të marrë rezultatin e dëshiruar.
- Optimizuesit . Qëllimi i mësimit të makinerive është të përsosë një model matematikor të një sistemi të botës reale derisa të ngjajë me sistemin sa më shumë që të jetë e mundur. Ky proces i përsosjes quhet optimizim dhe studiuesit kanë shpikur shumë metoda optimizimi. TensorFlow mbështet shumë prej këtyre algoritmeve dhe ofron një klasë optimizuesi për secilin. Pavarësisht nga klasa, mund të merrni një operacion optimizimi duke thirrur metodën e minimizimit të optimizuesit.
- Variablat . Ndryshe nga tensorët dhe mbajtësit e vendeve, një ndryshore është një shembull i klasës Variable. Qëllimi i tij kryesor është të përmbajë të dhëna që do të përditësohen gjatë procesit të optimizimit. Për shembull, nëse aplikacioni juaj modelon një sistem me një vijë të drejtë, ju do të ruani pjerrësinë e linjës dhe ndërprerjen y si variabla. Por, përpara se të përdorni variabla për të optimizuar një model, duhet të krijoni dhe të ekzekutoni operacione speciale të inicializimit.
- Vlerësuesit . Nëse preferoni të mos merreni me struktura të të dhënave të nivelit të ulët si sesionet dhe grafikët, mund të ekzekutoni algoritme të mësimit të makinerive duke përdorur API-në e vlerësuesit të TensorFlow. Një vlerësues është një shembull i klasës Vlerësues dhe çdo vlerësues mishëron një algoritëm të mësimit të makinës. Avantazhi kryesor i përdorimit të vlerësuesve është se ata të gjithë kanë të njëjtat tre metoda për nisjen e procesit të mësimit të makinerive: trajnoni, vlerësoni dhe parashikoni.
Si të përdorni TensorBoard në TensorFlow
Kur instaloni TensorFlow, instaluesi ofron gjithashtu një mjet të linjës komanduese të quajtur TensorBoard. Kjo gjeneron skica që ju lejojnë të vizualizoni funksionimin e aplikacionit tuaj TensorFlow. TensorBoard e bën të lehtë gjetjen e gabimeve në programet tuaja, por nuk është e lehtë për t'u përdorur. Për të gjeneruar të dhëna dhe për të parë grafikët në TensorFlow, duhet të kryeni gjashtë hapa:
Krijoni operacione përmbledhëse.
Përpara se të shikoni të dhënat në TensorBoard, duhet të identifikoni të dhënat që do të shfaqen duke krijuar operacione speciale të quajtura operacione përmbledhëse. Ju mund t'i krijoni këto operacione duke thirrur funksionet e paketës tf.summary. Për shembull, mund të krijoni një operacion përmbledhës për një vlerë të vetme duke thirrur tf.summary.scalar. Mund të krijoni një operacion përmbledhës për një seri vlerash duke thirrur tf.summary.histogram. Ju mund të kombinoni operacionet së bashku duke thirrur një funksion si tf.summary.merge_all.
Kryerja e operacioneve përmbledhëse.
Pasi të krijoni një ose më shumë operacione përmbledhëse, mund të merrni të dhënat përmbledhëse duke ekzekutuar operacionet në një seancë. Si rezultat, sesioni do të kthejë një buffer protokolli që përmban të dhënat përmbledhëse të aplikacionit.
Krijo një FileWriter.
Përpara se të printoni të dhënat përmbledhëse në një skedar, duhet të krijoni një FileWriter duke thirrur tf.summary.FileWriter. Ky konstruktor pranon shumë argumente, por i vetmi argument i kërkuar është emri i drejtorisë që përmban të dhënat përmbledhëse.
Shtypni të dhënat përmbledhëse.
Klasa FileWriter nuk ka një metodë të thjeshtë printimi. Në vend të kësaj, duhet të telefononi metodën add_summary të FileWriter për të printuar të dhënat përmbledhëse në një skedar. Kjo metodë e shkruan skedarin e ngjarjes në drejtorinë e specifikuar në konstruktorin FileWriter. Pasi të printoni të dhënat, është mirë të telefononi metodën e mbylljes së FileWriter për të shkatërruar shembullin.
Nisni TensorBoard.
Pasi të instaloni TensorFlow, programi tensorboard shfaqet në direktorinë e skripteve të nivelit të lartë. Mund ta nisni programin duke ekzekutuar komandën tensorboard dhe duke vendosur opsionin logdir në emrin e drejtorisë që përmban të dhënat përmbledhëse. Për shembull, nëse të dhënat përmbledhëse janë në direktorinë e daljes, mund të nisni TensorBoard duke ekzekutuar tensorboard –logdir=output në një linjë komande.
Shikoni TensorBoard në një shfletues.
Pasi të nisni programin TensorBoard, mund të shikoni ndërfaqen e tij duke hapur një shfletues. URL-ja e parazgjedhur është http://localhost:6006, por ju mund ta konfiguroni këtë duke vendosur opsionet e hostit dhe portit në komandën tensorboard.
Si të ekzekutoni TensorFlow në re
Arsyeja më e mirë për të përdorur TensorFlow për mësimin e makinerive është se ju mund të ekzekutoni aplikacionet tuaja në cloud. Më konkretisht, ju mund të vendosni programe TensorFlow në Motorin e Mësimit të Makinerisë (ML), të cilin Google e vë në dispozicion si pjesë e platformës së resë kompjuterike të Google (GCP). Ky proces i vendosjes përbëhet nga shtatë hapa:
Krijo një projekt Google Cloud Platform.
Kur punoni me GCP, një projekt shërben si kontejner qendror i cilësimeve të konfigurimit dhe skedarëve burimor. Mund të krijoni një projekt të ri duke vizituar platformën Google Cloud , duke klikuar Zgjidh një projekt dhe duke klikuar butonin plus në kutinë e dialogut Zgjidh. Ju mund të zgjidhni emrin e projektit tuaj, por GCP përcakton ID-në e projektit, i cili është unik midis të gjitha projekteve GCP.
Aktivizo qasjen te motori ML.
Çdo projekt i ri GCP mund të ketë akses në një sërë aftësish të Google, duke përfshirë Datastore dhe Cloud Storage. Por si parazgjedhje, projektet GCP nuk mund të vendosin aplikacione në Motorin ML. Për të aktivizuar aksesin, hapni menynë në pjesën e sipërme të majtë të faqes së projektit, zgjidhni APIs & Services dhe më pas klikoni Biblioteka. Klikoni lidhjen me titull Google Cloud Machine Learning Engine dhe më pas klikoni butonin ENABLE.
Instaloni paketën e zhvillimit të softuerit të resë kompjuterike (SDK).
Mund të hyni në GCP nga një linjë komande duke instaluar Cloud SDK të Google . Për ta shkarkuar këtë, klikoni lidhjen e duhur për sistemin tuaj operativ. Kur instalimi të përfundojë, do të mund të hyni në SDK duke ekzekutuar komandat gcloud në një linjë komande.
Ngarko të dhënat e trajnimit/parashikimit në "Cloud Storage".
Motori ML mund t'i qaset të dhënave tuaja të trajnimit/parashikimit vetëm nëse i ngarkoni në hapësirën ruajtëse në renë kompjuterike të Google. Ju mund të ndërveproni me Cloud Storage nga një linjë komande përmes programit gsutil të ofruar nga Cloud SDK. Të dhënat e Cloud Storage përmbahen në struktura të ngjashme me direktoriumin të quajtur buckets, dhe kur ngarkoni një skedar në një kovë, struktura e të dhënave quhet objekt.
Shtoni një modul setup.py në paketën e aplikacionit tuaj.
Për ta bërë një aplikacion Python të aksesueshëm për motorin ML, duhet ta strukturoni atë si një paketë. Çdo paketë duhet të ketë një modul setup.py në drejtorinë e nivelit të lartë. Ky modul duhet të ofrojë kodin për setuptools.setup, i cili ofron informacion konfigurimi për motorin ML.
Filloni një punë trajnimi për ML Engine.
Për të trajnuar modelin tuaj në renë kompjuterike, ju duhet të filloni një punë trajnimi duke ekzekutuar punët e motorit gcloud ml paraqisni trajnime me opsionet e duhura. Opsionet përfshijnë --package-path, e cila identifikon vendndodhjen e paketës, --module-name, e cila jep emrin e modulit Python dhe –job-dir, e cila i tregon motorit ML ku të ruajë daljen. Kur trajnimi të përfundojë, ML Engine do të prodhojë një SavedModel që përmban rezultatet e trajnuara.
Nisni një punë parashikimi për motorin ML.
Pasi të keni marrë një SavedModel, mund të përdorni motorin ML për të kryer parashikimin duke ekzekutuar punët e motorit gcloud për të paraqitur parashikimin me opsionet e duhura. Opsionet përfshijnë --input-paths, që identifikon vendndodhjen e skedarëve hyrës të projektit, --data-format, i cili i tregon motorit ML se si formatohen të dhënat hyrëse dhe --output-path, i cili identifikon se ku duhet të dalë dalja e parashikimit të ruhen.