TensorFlow For LuckyTemplates Cheat Sheet

TensorFlow er Googles fremste rammeverk for maskinlæring, og hver nye versjon har et bredt spekter av muligheter og funksjoner. Etter at du har steget læringskurven, kan du skrive sofistikerte maskinlæringsapplikasjoner og kjøre dem i høy hastighet.

Men å stige opp læringskurven er ikke lett - med stor kraft følger stor kompleksitet. For å hjelpe deg med å klatre, må du være klar over TensorFlows datatyper, TensorBoard-verktøyet og distribusjonen av applikasjoner til Googles maskinlæringsmotor.

Grunnleggende datatyper i TensorFlow

Du kan skrive TensorFlow-applikasjoner på en rekke forskjellige språk, som Python, C++ og Java. Men uansett hvilket språk du bruker, må du være kjent med en rekke TensorFlow-spesifikke datatyper:

  • Tensorer og plassholdere: En tensor er en forekomst av Tensor-klassen, og den fungerer som en flerdimensjonal matrise for generell bruk. En plassholder er også en Tensor, men i stedet for å bli initialisert i kode, mottar den data fra en sesjon som vil være gyldig under én utførelse av økten. Plassholdere gjør det mulig å oppdatere innholdet til en tensor fra en øktkjøring til den neste.
  • Grafer: En graf er en beholder som ligner på en liste eller en tuppel. Bare én graf kan være aktiv om gangen, og når du koder en operasjon som aksepterer tensorer eller variabler, lagres tensorene, variablene og operasjonen som elementer i grafen. Når du oppretter en optimizer og kaller dens minimeringsmetode, lagrer TensorFlow den resulterende operasjonen i grafen.
  • Økter . Grafer lagrer operasjoner, men de kan ikke utføre operasjoner selv. I stedet må du opprette en økt og kalle dens kjøremetode. Hvis du kaller run med en tensor eller operasjon, vil metoden utføre operasjonene i grafen som er nødvendig for å oppnå ønsket resultat.
  • Optimalisatorer . Målet med maskinlæring er å avgrense en matematisk modell av et virkelig system til det ligner systemet så mye som mulig. Denne foredlingsprosessen kalles optimalisering, og forskere har utviklet mange optimaliseringsmetoder. TensorFlow støtter mange av disse algoritmene og gir en optimaliseringsklasse for hver. Uavhengig av klasse, kan du oppnå en optimaliseringsoperasjon ved å kalle optimererens minimeringsmetode.
  • Variabler . I motsetning til tensorer og plassholdere, er en variabel en forekomst av Variable-klassen. Dens primære formål er å inneholde data som skal oppdateres under optimaliseringsprosessen. For eksempel, hvis applikasjonen din modellerer et system med en rett linje, vil du lagre linjens helning og y -skjæringspunkt som variabler. Men før du kan bruke variabler til å optimalisere en modell, må du opprette og utføre spesielle initialiseringsoperasjoner.
  • Estimatorer . Hvis du heller ikke vil håndtere datastrukturer på lavt nivå som økter og grafer, kan du utføre maskinlæringsalgoritmer ved å bruke TensorFlows Estimator API. En estimator er en forekomst av Estimator-klassen, og hver estimator inneholder en maskinlæringsalgoritme. Den største fordelen med å bruke estimatorer er at de alle har de samme tre metodene for å starte maskinlæringsprosessen: trene, evaluere og forutsi.

Hvordan bruke TensorBoard i TensorFlow

Når du installerer TensorFlow, gir installasjonsprogrammet også et kommandolinjeverktøy kalt TensorBoard. Dette genererer plott som lar deg visualisere driften av TensorFlow-applikasjonen. TensorBoard gjør det enkelt å finne feil i programmene dine, men det er ikke lett å bruke. For å generere data og se plottene i TensorFlow, må du utføre seks trinn:

Lag oppsummeringsoperasjoner.
Før du kan se data i TensorBoard, må du identifisere dataene som skal vises ved å lage spesielle operasjoner kalt oppsummeringsoperasjoner. Du kan opprette disse operasjonene ved å kalle opp funksjoner i pakken tf.summary. Du kan for eksempel opprette en sammendragsoperasjon for en enkelt verdi ved å kalle tf.summary.scalar. Du kan lage en oppsummeringsoperasjon for en serie verdier ved å kalle tf.summary.histogram. Du kan kombinere operasjoner ved å kalle en funksjon som tf.summary.merge_all.

Utfør oppsummeringsoperasjoner.
Etter at du har opprettet én eller flere sammendragsoperasjoner, kan du hente sammendragsdataene ved å utføre operasjonene i en økt. Som et resultat vil økten returnere en protokollbuffer som inneholder applikasjonens sammendragsdata.

Lag en FileWriter.
Før du kan skrive ut sammendragsdataene til en fil, må du opprette en FileWriter ved å ringe tf.summary.FileWriter. Denne konstruktøren godtar mange argumenter, men det eneste nødvendige argumentet er navnet på katalogen som inneholder sammendragsdataene.

Skriv ut sammendragsdataene.
FileWriter-klassen har ikke en enkel utskriftsmetode. I stedet må du kalle FileWriters add_summary-metode for å skrive ut sammendragsdata til en fil. Denne metoden skriver hendelsesfilen til katalogen spesifisert i FileWriter-konstruktøren. Etter at du har skrevet ut dataene, er det en god idé å ringe FileWriters lukkemetode for å ødelegge forekomsten.

Start TensorBoard.
Etter at du har installert TensorFlow, vises tensorboard-verktøyet i skriptkatalogen på øverste nivå. Du kan starte verktøyet ved å utføre tensorboard-kommandoen og sette logdir-alternativet til navnet på katalogen som inneholder sammendragsdataene. For eksempel, hvis sammendragsdataene er i utdatakatalogen, kan du starte TensorBoard ved å kjøre tensorboard –logdir=output på en kommandolinje.

Vis TensorBoard i en nettleser.
Etter at du har startet TensorBoard-verktøyet, kan du se grensesnittet ved å åpne en nettleser. Standard URL er http://localhost:6006, men du kan konfigurere dette ved å angi verts- og portalternativer i tensorboard-kommandoen.

Hvordan kjøre TensorFlow i skyen

Den beste grunnen til å bruke TensorFlow for maskinlæring er at du kan kjøre applikasjonene dine i skyen. Mer spesifikt kan du distribuere TensorFlow-programmer til Machine Learning (ML) Engine, som Google gjør tilgjengelig som en del av Google Cloud Platform (GCP). Denne distribusjonsprosessen består av syv trinn:

Opprett et Google Cloud Platform-prosjekt.
Når du arbeider med GCP, fungerer et prosjekt som den sentrale beholder for konfigurasjonsinnstillinger og kildefiler. Du kan opprette et nytt prosjekt ved å gå til Google Cloud-plattformen , klikke Velg et prosjekt og klikke på plussknappen i dialogboksen Velg. Du kan velge prosjektets navn, men GCP-en angir prosjektets ID, som er unik blant alle GCP-prosjekter.

Aktiver tilgang til ML Engine.
Hvert nytt GCP-prosjekt kan få tilgang til en rekke av Googles funksjoner, inkludert Datastore og Cloud Storage. Men som standard kan ikke GCP-prosjekter distribuere applikasjoner til ML Engine. For å aktivere tilgang, åpne menyen øverst til venstre på prosjektsiden, velg APIer og tjenester, og klikk deretter på Bibliotek. Klikk på koblingen med tittelen Google Cloud Machine Learning Engine og klikk deretter på AKTIVER-knappen.

Installer Cloud Software Development Kit (SDK).
Du kan få tilgang til GCP fra en kommandolinje ved å installere Googles Cloud SDK . For å laste ned dette, klikk på den aktuelle lenken for ditt operativsystem. Når installasjonen er fullført, vil du kunne få tilgang til SDK ved å kjøre gcloud-kommandoer på en kommandolinje.

Last opp trenings-/prediksjonsdata til Cloud Storage.
ML Engine kan bare få tilgang til trenings-/prediksjonsdataene dine hvis du laster dem opp til Googles Cloud Storage. Du kan samhandle med Cloud Storage fra en kommandolinje gjennom gsutil-verktøyet levert av Cloud SDK. Cloud Storage-data er inneholdt i kataloglignende strukturer kalt buckets, og når du laster opp en fil til en bucket, kalles datastrukturen et objekt.

Legg til en setup.py-modul i programmets pakke.
For å gjøre en Python-applikasjon tilgjengelig for ML Engine, må du strukturere den som en pakke. Hver pakke må ha en setup.py-modul i katalogen på toppnivå. Denne modulen må gi kode for setuptools.setup, som gir konfigurasjonsinformasjon til ML Engine.

Start en treningsjobb for ML Engine.
For å trene modellen din i skyen, må du starte en treningsjobb ved å kjøre gcloud ml-motorjobber og sende inn opplæring med passende alternativer. Alternativer inkluderer --package-path, som identifiserer plasseringen av pakken, --module-name, som gir navnet på Python-modulen, og –job-dir, som forteller ML Engine hvor utdata skal lagres. Når opplæringen er fullført, vil ML Engine produsere en SavedModel som inneholder de trente resultatene.

Start en prediksjonsjobb for ML Engine.
Etter at du har fått en SavedModel, kan du bruke ML Engine til å utføre prediksjon ved å kjøre gcloud ml-engine-jobber og sende inn prediksjon med de riktige alternativene. Alternativer inkluderer --input-paths, som identifiserer plasseringen av prosjektets inngangsfiler, --data-format, som forteller ML Engine hvordan inngangsdataene er formatert, og --output-path, som identifiserer hvor prediksjonsutgangen skal lagres.


Snagit 2018 gjennomgang Hva er nytt siden versjon 13

Snagit 2018 gjennomgang Hva er nytt siden versjon 13

TechSmith Snagit er vår favorittprogramvare for skjermbilder og bilderedigering. Sjekk ut de nye funksjonene i Snagit 2018!

8 elektroniske verktøy for å tegne diagrammer og flytskjemaer

8 elektroniske verktøy for å tegne diagrammer og flytskjemaer

Trenger du å lage diagrammer eller flytskjemaer og ønsker ikke å installere ekstra programvare? Her er en liste over online diagramverktøy.

Kan ikke Spotify spille den gjeldende sangen? Hvordan fikse

Kan ikke Spotify spille den gjeldende sangen? Hvordan fikse

Å ha et hus fullt av trådløst tilkoblede enheter og strømmetjenester som Spotify er flott inntil ting ikke fungerer og du finner interessante løsninger.

Hva er en NVMe M.2 SSD og hvor rask er den?

Hva er en NVMe M.2 SSD og hvor rask er den?

NVMe M.2 SSD er det siste innen datamaskinharddiskteknologi. Hva er det og hvor raskt er det kontra eldre harddisker og Solid State Drives (SSD)?

Sonos vs. AirPlay: Hvorfor jeg valgte AirPlay for Whole House Audio

Sonos vs. AirPlay: Hvorfor jeg valgte AirPlay for Whole House Audio

Sonos er den beste streaming-lydløsningen som starter på $400 for to høyttalere. Men med riktig oppsett kan AirPlay være gratis. La oss se gjennom detaljene.

Google Backup and Sync App erstatter bilder og Disk

Google Backup and Sync App erstatter bilder og Disk

Google Backup and Sync er en ny app som synkroniserer til Bilder og Disk. Les videre for å se hvordan det står opp mot OneDrive, Dropbox, Backblaze og Crashplan.

Cord Cutting: Gjennomgang av MyIPTV med SOPlayer

Cord Cutting: Gjennomgang av MyIPTV med SOPlayer

MyIPTV er en kabelskjæringstjeneste som bruker SOPlayer-appen for flere plattformer og tilbyr TV, filmer og andre former for media for en betalt

Logitech Opplyst Living-Room Keyboard K830

Logitech Opplyst Living-Room Keyboard K830

Logitech ga nylig ut sitt Illuminated Living-Room Keyboard K830 som er ment som en hjemmeunderholdningskamerat. Her er vår anmeldelse av enheten.

CloudHQ Oppdatert: Raskere synkronisering, Rediger Dropbox-filer fra Google Docs

CloudHQ Oppdatert: Raskere synkronisering, Rediger Dropbox-filer fra Google Docs

Her er en titt på oppdateringen nylig utgitt til CloudHQ og hvordan den fungerer. Les videre for å finne mer.

Hva er OnePlus 6T Android-telefon?

Hva er OnePlus 6T Android-telefon?

OnePlus 6T er en førsteklasses flaggskipkvalitet Android-telefon som selges med rabatt sammenlignet med Apple iPhone, Google Pixel 3 eller Samsung Galaxy S9.