TensorFlow za LuckyTemplates Cheat Sheet

TensorFlow je Googleov vrhunski okvir za strojno učenje, a svaka nova verzija donosi širok raspon mogućnosti i značajki. Nakon što se popnete na krivulju učenja, možete pisati sofisticirane aplikacije za strojno učenje i izvršavati ih velikom brzinom.

Ali podizanje krivulje učenja nije lako — s velikom snagom dolazi i velika složenost. Kako biste vam pomogli u usponu, morate biti svjesni tipova podataka TensorFlow, uslužnog programa TensorBoard i implementacije aplikacija na Googleov stroj Machine Learning Engine.

Osnovni tipovi podataka u TensorFlowu

TensorFlow aplikacije možete pisati na više različitih jezika, kao što su Python, C++ i Java. No, bez obzira koji jezik koristite, morate biti upoznati s nizom tipova podataka specifičnih za TensorFlow:

  • Tenzori i rezervirana mjesta: Tenzor je instanca klase Tensor i služi kao višedimenzionalni niz opće namjene. Rezervoar mjesta je također Tensor, ali umjesto da se inicijalizira u kodu, prima podatke iz sesije koji će biti valjani tijekom jednog izvršavanja sesije. Čuvari mjesta omogućuju ažuriranje sadržaja tenzora od jednog izvršavanja sesije do sljedećeg.
  • Grafovi: Graf je spremnik sličan popisu ili torci. Samo jedan graf može biti aktivan istovremeno, a kada kodirate operaciju koja prihvaća tenzore ili varijable, tenzori, varijable i operacija pohranjuju se kao elementi u grafu. Kada kreirate optimizator i pozovete njegovu metodu minimiziranja, TensorFlow pohranjuje rezultirajuću operaciju u graf.
  • Sjednice . Grafovi pohranjuju operacije, ali ne mogu sami izvoditi operacije. Umjesto toga, trebate stvoriti sesiju i pozvati njenu metodu pokretanja. Ako pozovete run s tenzorom ili operacijom, metoda će izvršiti operacije u grafu potrebne za dobivanje željenog rezultata.
  • Optimizatori . Cilj strojnog učenja je precizirati matematički model stvarnog sustava sve dok ne bude nalik sustavu što je više moguće. Ovaj proces dorade naziva se optimizacija, a istraživači su osmislili mnoge metode optimizacije. TensorFlow podržava mnoge od ovih algoritama i pruža klasu optimizatora za svaki. Bez obzira na klasu, možete dobiti operaciju optimizacije pozivanjem optimizatorove metode minimiziranja.
  • Varijable . Za razliku od tenzora i rezerviranih mjesta, varijabla je instanca klase Variable. Njegova je primarna svrha sadržavati podatke koji se ažuriraju tijekom procesa optimizacije. Na primjer, ako vaša aplikacija modelira sustav s ravnom linijom, pohranit ćete nagib linije i y -presjek kao varijable. Ali prije nego što možete koristiti varijable za optimizaciju modela, morate stvoriti i izvršiti posebne inicijalizacijske operacije.
  • Procjenitelji . Ako se ne želite baviti strukturama podataka niske razine poput sesija i grafikona, možete izvršiti algoritme strojnog učenja pomoću TensorFlow-ovog Estimator API-ja. Procjenitelj je instanca klase Estimator, a svaki alat za procjenu utjelovljuje algoritam strojnog učenja. Glavna prednost korištenja procjenitelja je ta što svi imaju iste tri metode za pokretanje procesa strojnog učenja: trenirati, evaluirati i predviđati.

Kako koristiti TensorBoard u TensorFlowu

Kada instalirate TensorFlow, instalacijski program također nudi uslužni program naredbenog retka pod nazivom TensorBoard. Time se generiraju dijagrami koji vam omogućuju vizualizaciju rada vaše TensorFlow aplikacije. TensorBoard olakšava pronalaženje pogrešaka u vašim programima, ali nije jednostavan za korištenje. Za generiranje podataka i prikaz dijagrama u TensorFlowu, trebate izvesti šest koraka:

Izradite operacije sažetka.
Prije nego što možete vidjeti podatke u TensorBoardu, morate identificirati podatke koji će se prikazati stvaranjem posebnih operacija koje se nazivaju operacije sažetka. Ove operacije možete kreirati pozivanjem funkcija paketa tf.summary. Na primjer, možete stvoriti operaciju sažetka za jednu vrijednost pozivanjem tf.summary.scalar. Možete stvoriti operaciju sažetka za niz vrijednosti pozivanjem tf.summary.histogram. Možete kombinirati operacije zajedno pozivanjem funkcije kao što je tf.summary.merge_all.

Izvršite operacije sažetka.
Nakon što izradite jednu ili više operacija sažetka, možete dobiti sažete podatke izvršavanjem operacija u sesiji. Kao rezultat, sesija će vratiti međuspremnik protokola koji sadrži sažete podatke aplikacije.

Napravite FileWriter.
Prije nego što možete ispisati sažete podatke u datoteku, morate stvoriti FileWriter pozivanjem tf.summary.FileWriter. Ovaj konstruktor prihvaća mnoge argumente, ali jedini potrebni argument je ime direktorija koji sadrži sažete podatke.

Ispišite sažetak podataka.
Klasa FileWriter nema jednostavnu metodu ispisa. Umjesto toga, trebate pozvati FileWriterovu add_summary metodu za ispis sažetih podataka u datoteku. Ova metoda zapisuje datoteku događaja u direktorij naveden u konstruktoru FileWriter. Nakon što ispišete podatke, dobra je ideja pozvati metodu close FileWritera kako biste uništili instancu.

Pokrenite TensorBoard.
Nakon što instalirate TensorFlow, uslužni program tensorboard pojavljuje se u direktoriju skripti najviše razine. Možete pokrenuti uslužni program tako da izvršite naredbu tensorboard i postavite opciju logdir na ime direktorija koji sadrži sažete podatke. Na primjer, ako se sažeti podaci nalaze u izlaznom direktoriju, TensorBoard možete pokrenuti izvršavanjem tensorboard –logdir=output u retku za naredbe.

Pregledajte TensorBoard u pregledniku.
Nakon što pokrenete uslužni program TensorBoard, možete vidjeti njegovo sučelje otvaranjem preglednika. Zadani URL je http://localhost:6006, ali to možete konfigurirati postavljanjem opcija hosta i porta u naredbi tensorboard.

Kako pokrenuti TensorFlow u oblaku

Najbolji razlog za korištenje TensorFlowa za strojno učenje je taj što možete pokrenuti svoje aplikacije u oblaku. Točnije, možete implementirati TensorFlow programe na Machine Learning (ML) Engine, koji Google čini dostupnim kao dio Google Cloud Platforme (GCP). Ovaj proces implementacije sastoji se od sedam koraka:

Izradite projekt Google Cloud Platforme.
Kada radite s GCP-om, projekt služi kao središnji spremnik konfiguracijskih postavki i izvornih datoteka. Možete stvoriti novi projekt tako da posjetite platformu Google Cloud , kliknete Odaberi projekt i kliknete gumb plus u dijaloškom okviru Odaberi. Možete odabrati naziv svog projekta, ali GCP postavlja ID projekta, koji je jedinstven među svim GCP projektima.

Omogućite pristup ML Engineu.
Svaki novi GCP projekt može pristupiti brojnim Googleovim mogućnostima, uključujući Datastore i Cloud Storage. Ali prema zadanim postavkama, GCP projekti ne mogu implementirati aplikacije na ML Engine. Da biste omogućili pristup, otvorite izbornik u gornjem lijevom dijelu stranice projekta, odaberite API-ji i usluge, a zatim kliknite Knjižnica. Kliknite vezu pod nazivom Google Cloud Machine Learning Engine, a zatim kliknite gumb OMOGUĆI.

Instalirajte Cloud Software Development Kit (SDK).
GCP-u možete pristupiti iz naredbenog retka instaliranjem Googleovog Cloud SDK-a . Da biste ovo preuzeli, kliknite odgovarajuću vezu za svoj operativni sustav. Kada instalacija završi, moći ćete pristupiti SDK-u pokretanjem gcloud naredbi u naredbenom retku.

Prenesite podatke o obuci/predviđenju u Cloud Storage.
ML Engine može pristupiti vašim podacima o obuci/predviđenju samo ako ih prenesete u Googleovu pohranu u oblaku. S Cloud Storageom možete komunicirati iz naredbenog retka putem uslužnog programa gsutil koji pruža Cloud SDK. Podaci Cloud Storagea sadržani su u strukturama sličnim direktoriju koje se nazivaju buckets, a kada prenesete datoteku u spremnik, struktura podataka naziva se objekt.

Dodajte modul setup.py u paket svoje aplikacije.
Da biste Python aplikaciju učinili dostupnom ML Engineu, trebate je strukturirati kao paket. Svaki paket mora imati modul setup.py u direktoriju najviše razine. Ovaj modul treba osigurati kod za setuptools.setup, koji pruža informacije o konfiguraciji ML Engineu.

Pokrenite posao obuke za ML Engine.
Da biste trenirali svoj model u oblaku, morate pokrenuti posao obuke pokretanjem gcloud ml-engine poslovi predati obuku s odgovarajućim opcijama. Opcije uključuju --package-path, koji identificira lokaciju paketa, --module-name, koji daje naziv Python modula, i –job-dir, koji govori ML Engine-u gdje treba pohraniti izlaz. Kada se obuka završi, ML Engine će proizvesti SavedModel koji sadrži rezultate obuke.

Pokrenite posao predviđanja za ML Engine.
Nakon što nabavite SavedModel, možete koristiti ML Engine za izvođenje predviđanja pokretanjem gcloud ml-engine poslova podnošenja predviđanja s odgovarajućim opcijama. Opcije uključuju --input-paths, koji identificira lokaciju ulaznih datoteka projekta, --data-format, koji govori ML Engine-u kako su formatirani ulazni podaci, i --output-path, koji identificira gdje bi trebao biti izlaz predviđanja biti pohranjeni.


Za starije osobe: Kako umetnuti isječak u PowerPoint slajd

Za starije osobe: Kako umetnuti isječak u PowerPoint slajd

Clip art je unaprijed nacrtana generička umjetnička djela, a Microsoft uz svoje proizvode sustava Office besplatno nudi mnoge datoteke s isječcima. Možete umetnuti isječke u svoj PowerPoint raspored slajda. Najlakši način za umetanje isječaka je korištenje jednog od rezerviranih mjesta na rasporedu slajda: Prikažite slajd koji sadrži isječak […]

Za starije: Kako ispuniti boju u Microsoft Excelu

Za starije: Kako ispuniti boju u Microsoft Excelu

Boja ispune — također se naziva sjenčanje — boja je ili uzorak koji ispunjava pozadinu jedne ili više ćelija radnog lista programa Excel. Primjena sjenčanja može pomoći očima čitatelja da prate informacije na stranici i može dodati boju i vizualni interes radnom listu. U nekim vrstama proračunskih tablica, kao što je registar čekovne knjižice, […]

Dodavanje novih kontakata u Zakon! 2005

Dodavanje novih kontakata u Zakon! 2005

Na najjednostavnijoj razini, glavna svrha ACT-a! služi kao mjesto za pohranu svih kontakata s kojima svakodnevno komunicirate. Možete dodavati i uređivati ​​sve svoje kontakte iz prozora s pojedinostima o kontaktu jer sadrži sve informacije koje se odnose na jedan određeni zapis i […]

Discord For LuckyTemplates Cheat Sheet

Discord For LuckyTemplates Cheat Sheet

Upotrijebite ovaj Cheat Sheet kako biste odmah uskočili u korištenje Discorda. Otkrijte korisne Discord botove, aplikacije koje možete integrirati i savjete za intervjuiranje gostiju.

OpenOffice.org za LuckyTemplates Cheat Sheet

OpenOffice.org za LuckyTemplates Cheat Sheet

Uredski paket OpenOffice.org ima mnogo alata koji olakšavaju radni život. Kada radite u OpenOffice.org, upoznajte funkcijsku alatnu traku (koja izgleda prilično isto u svim aplikacijama) i glavne gumbe alatne trake za pomoć s osnovnim naredbama za većinu zadataka.

Stroj za bombe Alana Turinga

Stroj za bombe Alana Turinga

Stroj Bombe Alana Turinga nije bio nikakav oblik umjetne inteligencije (AI). Zapravo, to čak i nije pravo računalo. Razbio je kriptografske poruke Enigme, i to je to. Međutim, to je Turingu pružilo hranu za razmišljanje, što je na kraju dovelo do rada pod naslovom “Computing Machinery and Intelligenceâ€?? koju je objavio 1950-ih koja opisuje […]

Standardni hardverski nedostaci za umjetnu inteligenciju

Standardni hardverski nedostaci za umjetnu inteligenciju

Mogućnost stvaranja modularnog sustava ima značajne prednosti, posebno u poslovanju. Mogućnost uklanjanja i zamjene pojedinačnih komponenti održava troškove niskim, a istovremeno dopušta postepena poboljšanja i brzine i učinkovitosti. Međutim, kao i kod većine stvari, nema besplatnog ručka. Modularnost koju pruža Von Neumannova arhitektura dolazi s nekim […]

10 stvari koje treba i ne treba raditi pri korištenju QuarkXPressa

10 stvari koje treba i ne treba raditi pri korištenju QuarkXPressa

Kad biste o QuarkXPressu morali odabrati deset lako zaboravljivih, ali iznimno korisnih stvari koje ćete zapamtiti, dragi čitatelju, one na sljedećem popisu bile bi to. Namaste. Razgovarajte sa svojim komercijalnim pisačem Svi projekti ispisa počinju i završavaju s pisačem. To je zato što samo tiskari znaju svoja ograničenja i tisuće načina na koje projekt može biti […]

Porijeklo Bitcoina

Porijeklo Bitcoina

Najvažniji aspekt bitcoina može biti koncept iza njega. Bitcoin je kreirao programer Satoshi Nakamoto. Umjesto da pokušava osmisliti potpuno novi način plaćanja kako bi srušio način na koji svi plaćamo stvari online, Satoshi je uvidio određene probleme s postojećim sustavima plaćanja i htio ih je riješiti. Koncept […]

Kako zaštititi svoju privatnost kada koristite Bitcoin

Kako zaštititi svoju privatnost kada koristite Bitcoin

Određena razina anonimnosti vezana je uz korištenje bitcoina i digitalne valute općenito. Možete li to označiti kao "dovoljno anonimno" osobno je mišljenje. Postoje načini da zaštitite svoju privatnost kada koristite bitcoin za premještanje sredstava, ali oni zahtijevaju malo truda i planiranja: možete generirati novu adresu za […]