Introduktion till TensorFlow
I den här artikeln kommer vi att se en översikt över TensorFlow Architecture. TensorFlow är ett korsplattformbibliotek och det finns några vanliga begrepp som operationer, sessioner och beräkningsgrafer. TensorFlow Serving gör nya algoritmer och experiment lätt att distribuera samtidigt som samma databasarkitektur och API: er hålls.
Vad är Tensorflow-arkitektur?
Tensorflow är ett vanligt använt bibliotek för djupinlärning, som är byggt av Googles hjärnteam som arbetade med Artificial Intelligence. Den utvecklades så att den kan användas på flera CPU: er, GPU: er och kan också köras på mobila enheter och stöder olika omslagsklasser som python, C ++ eller Java och Tensorer, som är objekt som beskriver den linjära relationen mellan vektorer, skalar och andra tensorer .
Tensorer är inget annat än flerdimensionella matriser. För att förstå TensorFlow-arkitekturen och funktionerna måste vi först förstå vissa termer.
- Spänningsflödeservrar
- Serverbara versioner
- Serverbara strömmar
- Tensorflödesmodell
- Tensorflödeslastare
- Tensorflowkällor
- Tensorflow Manager
- Tensorflow Core
- Servable Life
- Batcher i Tensorflow-arkitektur
1. Tensorflödeservrar
- Tensorflow-servrar är vanliga objekt som huvudsakligen används för att utföra beräkningar. Storleken på TensorFlow-servatorn är mycket flexibel. Servables är centrala oavslutade enheter i TensorFlow-servering.
- En servicenhet kan innehålla allt som den kan innehålla tuplor, uppslagstabeller. Serverbara objekt kan vara av alla typer och alla gränssnitt, på grund av dessa funktioner är det mycket flexibelt och enkelt att göra framtida förbättringar, till exempel asynkrona driftsätt, strömningsresultat och experimentella API: er.
2. Serverbara versioner
- Serverbara versioner används för att underhålla versioner av TensorFlow-serverbara. Den kan hantera en eller flera versioner av servrar. Det kan hjälpa till att konfigurera de nya algoritmerna, hantera vikter och andra ändringar kan göras, data kan laddas.
- Det kan också ändra och hantera versioner, aktivera flera serverbara versioner åt gången.
3. Serverbara strömmar
Det är en samling olika versioner av servrar. Den lagrar den i en allt större version av versioner.
4. Tensorflödesmodeller
- En TensorFlow-modell kan innehålla en eller flera TensorFlow-servrar. Det används främst i maskininlärningsuppgifter som kan innehålla mer än en algoritm som innehåller olika vikter beroende på modell, uppslagstabeller, mätvärden och tabellinbäddningar.
- Det kan serveras på många olika sätt så att det finns olika sätt att betjäna uppslagstabellen.
5. Tensorflödeslastare
- Tensorflow loader är ett API som hanterar TensorFlow Servables livscykel. Det ger en gemensam infrastruktur för några av inlärningsalgoritmerna.
- Den huvudsakliga användningen av TensorFlow-laddaren är att ladda och lossa servrar med standardiserade loader-API: er.
6. Tensorflowkällor
- Källor fungerar som en plugin-modul. Tensorflowkällan gör den grundläggande hanteringen av serverbar som att hitta serverbar, ger serverbar på begäran.
- Varje referens kan tillhandahålla en eller flera serverbara strömmar åt gången. Varje källa tillhandahåller en loaderinstans för hantering av strömversionen. Och varje servabelström laddas på den versionbaserade.
- Källan har olika tillstånd som kan delas med olika versioner och till flera servrar. Kan också hantera uppdatering eller byte mellan versioner.
7. Tensorflödeschefer
- Tensorflow manager hanterar servicens livscykel från slutet till slut.
- Laddar serverbara, serverar serverbara, lossar serverbara.
- Manager får svar från alla servicekällor och övervakar också all version av den. Chefen kan också vägra eller skjuta uppladdningen.
- GetServableHandle () -funktionen tillhandahåller ett gränssnitt som hjälper till att hantera ledande saker om TensorFlow-servrar.
8. Tensorflow Core
Tensorflow Core innehåller:
- Livscykel, statistik.
- Tensorflow-serveringskärnan tar servrar och lastare som ett objekt.
9. Serviceliv
Hela proceduren förklaras om hur servable används och hela livscykeln för servable:
- Källa skapar lastare för olika serverbara versioner. Klientbegäran till chef och chef skickade laddare önskad version, ladda och servera tillbaka till klienten.
- Loader innehåller metadata som kan användas för att ladda servrarna. Återuppringning används för att meddela chefen om de serverbara källversionerna. Chefen följer en versionpolicy som hjälper dig att konfigurera och bestämma vilken åtgärd som ska göras därefter.
- Chefen kontrollerar också säkerheten för lastare, om den är säker kommer det bara att ge de nödvändiga resurserna till lastaren och ge tillstånd att ladda den nya versionen. Chefen tillhandahåller Severable på klientbegäran, eller så kommer den att begära en specifik version uttryckligen eller kan begära direkt den senaste versionen efter att hanteraren returnerar ett handtag för åtkomst till servable.
- Dynamic manager hanterar de serverbara versionerna, tillämpar versionpolicyn och bestämmer vilken version eller den senaste versionen måste laddas. Den dynamiska chefen tilldelar minnet till laddaren. Loader initierar TensorFlow-diagrammet och uppdaterar vikterna på TensorFlow-diagrammet.
- När en klient begär servable och kontrollerar den version som klienten begär, returnerar Dynamic Manager den hanteraren med den begärda versionen av Servable.
10. Batcher i Tensorflow Arkitektur
- Batching är ett förfarande för att hantera flera förfrågningar till en enda begäran.
- Genom att använda den här proceduren kan vi minska kostnaden för att göra slutsatser, särskilt accelerationen av hårdvara som GPU, TPU.
- Tensorflow servable innehåller en Batcher-widget, med hjälp av denna widget kan klienter enkelt batcha sina flera specifika inferensförfrågningar till en enda batchförfrågan. Så de kan köra den här proceduren effektivt.
Slutsats - TensorFlow Architecture
Tensorflow Architecture representerar ett decentraliserat system. Den visar hur olika komponenter fungerar och tjänar sina roller i ett decentraliserat system. Serverar på klientens begäran och använder batchning av flera operationer parallellt. Några av de bästa funktionerna i TensorFlow-arkitekturen är satsning av operationer, maskinvaruacceleration och dynamiska manageralternativ, lastare, källor, serverbara strömmar.
Rekommenderade artiklar
Detta är en guide till TensorFlow Architecture. Här diskuterar vi Vad är TensorFlow och några av de bästa funktionerna i TensorFlow Architecture. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Introduktion till Tensorflow med karaktäristik
- TensorFlow vs Spark | Topp 5 jämförelse
- Theano vs Tensorflow - Topp skillnader
- TensorFlow-alternativ | Topp 11