Wprowadzenie do TensorFlow
W tym artykule zobaczymy zarys architektury TensorFlow. TensorFlow jest biblioteką wieloplatformową i istnieje kilka popularnych pojęć, takich jak operacje, sesje i wykresy obliczeniowe. TensorFlow Serving ułatwia wdrażanie nowych algorytmów i eksperymentów, zachowując tę samą architekturę bazy danych i interfejsy API.
Co to jest architektura Tensorflow?
Tensorflow jest powszechnie używaną biblioteką do głębokiego uczenia się, która została zbudowana przez zespół mózgu Google, który pracował nad sztuczną inteligencją. Został opracowany, ponieważ można go stosować na wielu procesorach, procesorach graficznych, a także może działać na urządzeniach mobilnych i obsługuje różne klasy opakowań, takie jak python, C ++ lub Java i Tensors, które są obiektami opisującymi liniową zależność między wektorami, skalarami i innymi tensorami .
Tensory to nic innego jak tablice wielowymiarowe. Aby zrozumieć architekturę i funkcje TensorFlow, najpierw musimy zrozumieć niektóre terminy.
- Serwery Tensorflow
- Wersje do serwowania
- Obsługiwane strumienie
- Model Tensorflow
- Ładowarki Tensorflow
- Źródła Tensorflow
- Menedżer Tensorflow
- Rdzeń Tensorflow
- Life of Servable
- Batcher W architekturze Tensorflow
1. Serwery Tensorflow
- Serwery przepływu Tensorflow to wspólne obiekty, które są głównie używane do wykonywania obliczeń. Rozmiar serwowanego TensorFlow jest bardzo elastyczny. Serwery to centralne, niekompletne jednostki obsługujące TensorFlow.
- Jednostka obsługowa może zawierać wszystko, co może zawierać krotki, tabele odnośników. Serwowane obiekty mogą być dowolnego typu i dowolnego interfejsu, dzięki tym cechom jest bardzo elastyczne i łatwe do wprowadzenia w przyszłości ulepszenia, takie jak asynchroniczne tryby operacji, wyniki przesyłania strumieniowego i eksperymentalne interfejsy API.
2. Wersje obsługiwane
- Wersje serwisowe służą do utrzymywania wersji serwisowych TensorFlow. Może obsługiwać jedną lub więcej wersji Serwerów. Może pomóc w konfiguracji nowych algorytmów, obsługi wag i innych zmian, które można wprowadzić, danych można załadować.
- Może także zmieniać i zarządzać wersjami, włączać wiele wersji obsługiwanych jednocześnie.
3. Obsługiwane strumienie
Jest to zbiór różnych wersji Serwerów. Przechowuje go w rosnącej sekwencji wersji.
4. Modele Tensorflow
- Model TensorFlow może zawierać jeden lub więcej Serwerów TensorFlow. Jest wykorzystywany głównie w zadaniach uczenia maszynowego, które mogą zawierać więcej niż jeden algorytm, który zawiera różne wagi w zależności od modelu, tabel wyszukiwania, metryk i osadzania tabel.
- Może być obsługiwany na wiele różnych sposobów, dzięki czemu istnieją różne sposoby obsługi tabeli odnośników.
5. Ładowarki Tensorflow
- Program ładujący Tensorflow to interfejs API zarządzający cyklem życia TensorFlow Servables. Zapewnia wspólną infrastrukturę dla niektórych algorytmów uczenia się.
- Głównym zastosowaniem modułu ładującego TensorFlow jest ładowanie i zwalnianie elementów Servable przy użyciu standardowych interfejsów API modułu ładującego.
6. Źródła Tensorflow
- Źródła działają jako moduł wtyczek. Źródło Tensorflow wykonuje podstawową obsługę serwowalnych, podobnie jak znalezienie serwowalnych, zapewnia serwowalne na żądanie.
- Każde odniesienie może zapewniać jeden lub więcej obsługiwanych strumieni jednocześnie. Każde źródło udostępnia instancję modułu ładującego do obsługi wersji strumienia. I każdy obsługiwany strumień jest ładowany na podstawie wersji.
- Źródło ma różne stany, które mogą być współużytkowane przez różne wersje i wiele Serwerów. Może również obsługiwać aktualizację lub zmianę między wersjami.
7. Menedżerowie Tensorflow
- Menadżer Tensorflow obsługuje cykl serwisowy od końca do końca.
- Ładowanie do serwowania, serwowanie do serwowania, rozładowywanie serwowania do serwowania.
- Menedżer otrzymuje odpowiedź ze wszystkich obsługiwanych źródeł, a także monitoruje wszystkie jej wersje. Menedżer może również odmówić lub odłożyć przesyłanie.
- Funkcja GetServableHandle () zapewnia interfejs, który pomaga w zarządzaniu sprawami związanymi z serwerami TensorFlow.
8. Rdzeń Tensorflow
Tensorflow Core zawiera:
- Cykl życia, wskaźniki.
- Rdzeń obsługujący Tensorflow przyjmuje obiekty i ładowarki jako obiekt.
9. Życie serwowanego
Cała procedura została objaśniona o tym, w jaki sposób serwowany jest używany i cały cykl życia serwowalnego:
- Źródło tworzy moduły ładujące dla różnych obsługiwanych wersji. Żądanie klienta skierowane do menedżera i menedżera wysłało moduł ładujący żądaną wersję, załadował i podał z powrotem klientowi.
- Moduł ładujący zawiera metadane, których można użyć do załadowania plików Servables. Oddzwanianie służy do powiadamiania menedżera o możliwych do obsługi wersjach źródłowych. Menedżer postępuje zgodnie z polityką wersji, która pomaga skonfigurować i zdecydować, jakie działania należy podjąć w następnej kolejności.
- Menedżer sprawdza również bezpieczeństwo programów ładujących, jeśli jest bezpieczny, to tylko on zapewni niezbędne zasoby programowi ładującemu i zezwoli na załadowanie nowej wersji. Menedżer zapewnia możliwość podzielenia na żądanie klienta lub poprosi o konkretną wersję jawnie lub może zażądać bezpośredniej najnowszej wersji po tym, jak ten menedżer zwróci uchwyt umożliwiający dostęp do serwowalnego.
- Menedżer dynamiczny obsługuje obsługiwane wersje, stosuje zasady wersji i decyduje, że należy załadować wersję lub najnowszą wersję. Menedżer dynamiczny przydziela pamięć modułowi ładującemu. Program ładujący inicjuje wykres TensorFlow i aktualizuje wagi wykresu TensorFlow.
- Gdy klient żąda elementu obsługowego i sprawdza wersję, której żąda klient, menedżer dynamiczny zwraca ten moduł obsługi z żądaną wersją elementu obsługiwanego.
10. Batcher w architekturze Tensorflow
- Batching to procedura obsługi wielu żądań w jednym żądaniu.
- Stosując tę procedurę możemy obniżyć koszty wykonywania wnioskowania, zwłaszcza przyspieszenie sprzętu takiego jak GPU, TPU.
- Obsługiwany Tensorflow zawiera widget Batchera, za pomocą tego widgetu klienci mogą łatwo grupować swoje wiele konkretnych wniosków wnioskowania w jedno żądanie partii. Aby mogli efektywnie uruchomić tę procedurę.
Wniosek - architektura TensorFlow
Architektura Tensorflow reprezentuje system zdecentralizowany. Pokazuje, jak różne komponenty działają i pełnią swoje role w zdecentralizowanym systemie. Obsługa na żądanie klienta i równoległe wykonywanie wielu operacji wsadowych. Niektóre z najlepszych funkcji w architekturze TensorFlow to grupowanie operacji, przyspieszenie sprzętowe i opcje menedżera dynamicznego, programy ładujące, źródła, obsługiwane strumienie.
Polecane artykuły
To jest przewodnik po architekturze TensorFlow. Tutaj omawiamy Czym jest TensorFlow i niektóre z najlepszych funkcji TensorFlow Architecture. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Wprowadzenie do Tensorflow z charakterystyką
- TensorFlow vs Spark | Porównanie 5 najlepszych
- Theano vs Tensorflow - Najważniejsze różnice
- Alternatywy TensorFlow | Top 11