TensorFlow för LuckyTemplates fuskblad

TensorFlow är Googles främsta ramverk för maskininlärning, och varje ny version har ett brett utbud av möjligheter och funktioner. När du har tagit dig upp i inlärningskurvan kan du skriva sofistikerade maskininlärningsapplikationer och köra dem i hög hastighet.

Men att ta sig upp i inlärningskurvan är inte lätt – med stor kraft kommer stor komplexitet. För att hjälpa dig i din klättring måste du vara medveten om TensorFlows datatyper, TensorBoard-verktyget och distributionen av applikationer till Googles Machine Learning Engine.

Grundläggande datatyper i TensorFlow

Du kan skriva TensorFlow-applikationer på ett antal olika språk, som Python, C++ och Java. Men oavsett vilket språk du använder måste du vara bekant med en rad TensorFlow-specifika datatyper:

  • Tensorer och platshållare: En tensor är en instans av Tensor-klassen och den fungerar som en multidimensionell array för allmänt bruk. En platshållare är också en Tensor, men istället för att initieras i kod tar den emot data från en session som kommer att vara giltig under en körning av sessionen. Platshållare gör det möjligt att uppdatera en tensors innehåll från en sessionskörning till nästa.
  • Grafer: En graf är en behållare som liknar en lista eller en tupel. Endast en graf kan vara aktiv åt gången, och när du kodar en operation som accepterar tensorer eller variabler, lagras tensorerna, variablerna och operationen som element i grafen. När du skapar en optimerare och anropar dess minimeringsmetod, lagrar TensorFlow den resulterande operationen i grafen.
  • Sessioner . Grafer lagrar operationer, men de kan inte utföra operationer själva. Istället måste du skapa en session och anropa dess körmetod. Om du anropar kör med en tensor eller operation kommer metoden att utföra operationerna i grafen som behövs för att erhålla det önskade resultatet.
  • Optimerare . Målet med maskininlärning är att förfina en matematisk modell av ett verkligt system tills det liknar systemet så nära som möjligt. Denna förfiningsprocess kallas optimering, och forskare har utarbetat många optimeringsmetoder. TensorFlow stöder många av dessa algoritmer och ger en optimeringsklass för var och en. Oavsett klass kan du få en optimeringsoperation genom att anropa optimerarens minimeringsmetod.
  • Variabler . Till skillnad från tensorer och platshållare är en variabel en instans av klassen Variable. Dess primära syfte är att innehålla data som ska uppdateras under optimeringsprocessen. Till exempel, om din applikation modellerar ett system med en rät linje, lagrar du linjens lutning och y -avsnitt som variabler. Men innan du kan använda variabler för att optimera en modell måste du skapa och utföra speciella initieringsoperationer.
  • Uppskattare . Om du hellre inte vill hantera datastrukturer på låg nivå som sessioner och grafer, kan du köra maskininlärningsalgoritmer med TensorFlows Estimator API. En estimator är en instans av klassen Estimator, och varje estimator förkroppsligar en maskininlärningsalgoritm. Den stora fördelen med att använda estimatorer är att de alla har samma tre metoder för att starta maskininlärningsprocessen: träna, utvärdera och förutsäga.

Hur man använder TensorBoard i TensorFlow

När du installerar TensorFlow tillhandahåller installationsprogrammet också ett kommandoradsverktyg som heter TensorBoard. Detta genererar plotter som låter dig visualisera hur din TensorFlow-applikation fungerar. TensorBoard gör det enkelt att hitta fel i dina program, men det är inte lätt att använda. För att generera data och visa diagrammen i TensorFlow måste du utföra sex steg:

Skapa sammanfattningar.
Innan du kan visa data i TensorBoard måste du identifiera data som ska visas genom att skapa speciella operationer som kallas summeringsoperationer. Du kan skapa dessa operationer genom att anropa funktioner i paketet tf.summary. Du kan till exempel skapa en sammanfattningsoperation för ett enskilt värde genom att anropa tf.summary.scalar. Du kan skapa en sammanfattningsoperation för en serie värden genom att anropa tf.summary.histogram. Du kan kombinera operationer genom att anropa en funktion som tf.summary.merge_all.

Utför sammanfattningsåtgärder.
När du har skapat en eller flera sammanfattningsåtgärder kan du hämta sammanfattningsdata genom att utföra operationerna i en session. Som ett resultat kommer sessionen att returnera en protokollbuffert som innehåller applikationens sammanfattningsdata.

Skapa en FileWriter.
Innan du kan skriva ut sammanfattningsdata till en fil måste du skapa en FileWriter genom att anropa tf.summary.FileWriter. Denna konstruktor accepterar många argument, men det enda som krävs är namnet på katalogen som innehåller sammanfattningsdata.

Skriv ut sammanfattningsdata.
FileWriter-klassen har ingen enkel utskriftsmetod. Istället måste du anropa FileWriters add_summary-metod för att skriva ut sammanfattningsdata till en fil. Denna metod skriver händelsefilen till katalogen som anges i FileWriter-konstruktorn. När du har skrivit ut data är det en bra idé att anropa FileWriters stängningsmetod för att förstöra instansen.

Starta TensorBoard.
När du har installerat TensorFlow visas tensorboard-verktyget i skriptkatalogen på översta nivån. Du kan starta verktyget genom att köra kommandot tensorboard och ställa in logdir-alternativet till namnet på katalogen som innehåller sammanfattningsdata. Till exempel, om sammanfattningsdata finns i utdatakatalogen, kan du starta TensorBoard genom att köra tensorboard –logdir=output på en kommandorad.

Visa TensorBoard i en webbläsare.
När du har startat TensorBoard-verktyget kan du se dess gränssnitt genom att öppna en webbläsare. Standard-URL är http://localhost:6006, men du kan konfigurera detta genom att ställa in värd- och portalternativ i tensorboard-kommandot.

Hur man kör TensorFlow i molnet

Den bästa anledningen till att använda TensorFlow för maskininlärning är att du kan köra dina applikationer i molnet. Mer specifikt kan du distribuera TensorFlow-program till Machine Learning (ML) Engine, som Google gör tillgänglig som en del av Google Cloud Platform (GCP). Denna distributionsprocess består av sju steg:

Skapa ett Google Cloud Platform-projekt.
När du arbetar med GCP fungerar ett projekt som den centrala behållaren för konfigurationsinställningar och källfiler. Du kan skapa ett nytt projekt genom att besöka Google Cloud-plattformen , klicka på Välj ett projekt och klicka på plusknappen i dialogrutan Välj. Du kan välja ditt projekts namn, men GCP anger projektets ID, vilket är unikt bland alla GCP-projekt.

Aktivera åtkomst till ML Engine.
Varje nytt GCP-projekt kan få tillgång till ett antal av Googles funktioner, inklusive Datastore och Cloud Storage. Men som standard kan GCP-projekt inte distribuera applikationer till ML Engine. För att aktivera åtkomst, öppna menyn uppe till vänster på projektsidan, välj API:er och tjänster och klicka sedan på Bibliotek. Klicka på länken Google Cloud Machine Learning Engine och klicka sedan på knappen AKTIVERA.

Installera Cloud Software Development Kit (SDK).
Du kan komma åt GCP från en kommandorad genom att installera Googles Cloud SDK . För att ladda ner detta, klicka på lämplig länk för ditt operativsystem. När installationen är klar kommer du att kunna komma åt SDK:n genom att köra gcloud-kommandon på en kommandorad.

Ladda upp tränings-/förutsägelsedata till Cloud Storage.
ML Engine kan bara komma åt din tränings-/förutsägelsedata om du laddar upp den till Googles molnlagring. Du kan interagera med Cloud Storage från en kommandorad via gsutil-verktyget som tillhandahålls av Cloud SDK. Cloud Storage-data finns i katalogliknande strukturer som kallas buckets, och när du laddar upp en fil till en bucket kallas datastrukturen för ett objekt.

Lägg till en setup.py-modul i programmets paket.
För att göra en Python-applikation tillgänglig för ML Engine måste du strukturera den som ett paket. Varje paket måste ha en setup.py-modul i katalogen på översta nivån. Den här modulen måste tillhandahålla kod för setuptools.setup, som tillhandahåller konfigurationsinformation till ML Engine.

Starta ett träningsjobb för ML Engine.
För att träna din modell i molnet måste du starta ett träningsjobb genom att köra gcloud ml-engine jobb lämna in utbildning med lämpliga alternativ. Alternativen inkluderar --package-path, som identifierar platsen för paketet, --module-name, som ger namnet på Python-modulen och –job-dir, som talar om för ML Engine var utdata ska lagras. När träningen är klar kommer ML Engine att producera en SavedModel som innehåller de tränade resultaten.

Starta ett prediktionsjobb för ML Engine.
När du har skaffat en SavedModel kan du använda ML Engine för att utföra förutsägelse genom att köra gcloud ml-engine-jobb och skicka förutsägelse med lämpliga alternativ. Alternativen inkluderar --input-paths, som identifierar platsen för projektets indatafiler, --data-format, som talar om för ML Engine hur indata formateras, och --output-path, som identifierar var förutsägelseutgången ska lagras.


Snagit 2018 Recension Vad är nytt sedan version 13

Snagit 2018 Recension Vad är nytt sedan version 13

TechSmith Snagit är vårt favoritprogram för skärmdumpar och bildredigering. Kolla in de nya funktionerna i Snagit 2018!

8 onlineverktyg för att rita diagram och flödesscheman

8 onlineverktyg för att rita diagram och flödesscheman

Behöver du skapa diagram eller flödesscheman och vill inte installera extra programvara? Här är en lista över diagramverktyg online.

Kan Spotify inte spela den aktuella låten? Hur man fixar

Kan Spotify inte spela den aktuella låten? Hur man fixar

Att ha ett hus fullt av trådlöst uppkopplade enheter och streamingtjänster som Spotify är fantastiskt tills saker och ting inte fungerar och du hittar intressanta lösningar.

Vad är en NVMe M.2 SSD och hur snabb är den?

Vad är en NVMe M.2 SSD och hur snabb är den?

NVMe M.2 SSD är det senaste inom datorhårddiskteknik. Vad är det och hur snabbt är det jämfört med äldre hårddiskar och Solid State Drives (SSD)?

Sonos vs AirPlay: Varför jag valde AirPlay för Whole House Audio

Sonos vs AirPlay: Varför jag valde AirPlay för Whole House Audio

Sonos är den bästa lösningen för strömmande ljud från 400 $ för två högtalare. Men med rätt inställning kan AirPlay vara gratis. Låt oss granska detaljerna.

Google Backup and Sync App ersätter foton och Drive

Google Backup and Sync App ersätter foton och Drive

Google Backup and Sync är en ny app som synkroniserar till Foton och Drive. Läs vidare för att se hur det går mot OneDrive, Dropbox, Backblaze och Crashplan.

Cord Cutting: Recension av MyIPTV med SOPlayer

Cord Cutting: Recension av MyIPTV med SOPlayer

MyIPTV är en kabelklippningstjänst som använder SOPlayer-appen för flera plattformar och tillhandahåller tv, filmer och andra former av media för en betald

Logitech Upplyst Living-Room Keyboard K830

Logitech Upplyst Living-Room Keyboard K830

Logitech släppte nyligen sitt Illuminated Living-Room Keyboard K830 som är tänkt som en följeslagare för hemunderhållning. Här är vår recension av enheten.

CloudHQ uppdaterad: Snabbare synkronisering, redigera Dropbox-filer från Google Docs

CloudHQ uppdaterad: Snabbare synkronisering, redigera Dropbox-filer från Google Docs

Här är en titt på uppdateringen som nyligen släppts till CloudHQ och hur den fungerar. Läs vidare för att hitta mer.

Vad är OnePlus 6T Android-telefon?

Vad är OnePlus 6T Android-telefon?

OnePlus 6T är en Android-telefon av högsta kvalitet som säljs till rabatterat pris jämfört med Apple iPhone, Google Pixel 3 eller Samsung Galaxy S9.