TensorFlow Model Garden zapewnia implementacje wielu najnowocześniejszych modeli uczenia maszynowego (ML) do przetwarzania wizji i języka naturalnego (NLP), a także narzędzia przepływu pracy umożliwiające szybką konfigurację i uruchamianie tych modeli na standardowych zestawach danych. Niezależnie od tego, czy chcesz porównywać wydajność znanego modelu, weryfikować wyniki niedawno opublikowanych badań, czy rozszerzać istniejące modele, Model Garden może pomóc w prowadzeniu badań i aplikacji ML.
The Model Garden zawiera następujące zasoby dla programistów systemów uczących się:
- Oficjalne modele dla wizji i NLP, utrzymywane przez inżynierów Google
- Modele badawcze opublikowane w ramach prac badawczych ML
- Struktura eksperymentu szkoleniowego do szybkiej, deklaratywnej konfiguracji szkolenia oficjalnych modeli
- Wyspecjalizowane operacje ML do przetwarzania wizji i języka naturalnego (NLP)
- Zarządzanie pętlą treningową modelu za pomocą Orbit
Zasoby te są przeznaczone do użytku z platformą TensorFlow Core i integracji z istniejącymi projektami programistycznymi TensorFlow. Zasoby Model Garden są również udostępniane na licencji open source , dzięki czemu można dowolnie rozszerzać i dystrybuować modele i narzędzia.
Praktyczne modele ML wymagają intensywnych obliczeń i mogą wymagać akceleratorów, takich jak jednostki przetwarzania graficznego (GPU) i jednostki przetwarzania tensorowego (TPU). Większość modeli w Model Garden została przeszkolona na dużych zbiorach danych przy użyciu TPU. Można jednak również trenować i uruchamiać te modele na procesorach GPU i CPU.
Modele ogrodowe modele
Modele uczenia maszynowego w Model Garden zawierają pełny kod, dzięki czemu można je testować, szkolić lub ponownie szkolić pod kątem badań i eksperymentów. Ogród Modeli obejmuje dwie podstawowe kategorie modeli: modele oficjalne i modele badawcze .
Oficjalne modele
Repozytorium modeli oficjalnych to zbiór najnowocześniejszych modeli, z naciskiem na przetwarzanie wizji i języka naturalnego (NLP). Modele te są implementowane przy użyciu obecnych wysokopoziomowych interfejsów API TensorFlow 2.x. Biblioteki modeli w tym repozytorium są zoptymalizowane pod kątem wysokiej wydajności i aktywnie utrzymywane przez inżynierów Google. Oficjalne modele zawierają dodatkowe metadane, których można użyć do szybkiego konfigurowania eksperymentów przy użyciu struktury eksperymentów szkoleniowych Model Garden .
Modele badawcze
Repozytorium Research Models to zbiór modeli opublikowanych jako źródła kodu dla artykułów naukowych. Modele te są implementowane przy użyciu zarówno TensorFlow 1.x, jak i 2.x. Biblioteki modeli w folderze badań są obsługiwane przez właścicieli kodu i społeczność naukową.
Struktura eksperymentu szkoleniowego
Struktura eksperymentów szkoleniowych Model Garden umożliwia szybkie składanie i uruchamianie eksperymentów szkoleniowych przy użyciu oficjalnych modeli i standardowych zestawów danych. Struktura szkoleniowa wykorzystuje dodatkowe metadane zawarte w oficjalnych modelach Model Garden, aby umożliwić szybkie konfigurowanie modeli przy użyciu deklaratywnego modelu programowania. Eksperyment uczący można zdefiniować za pomocą poleceń języka Python w bibliotece TensorFlow Model lub skonfigurować szkolenie przy użyciu pliku konfiguracyjnego YAML, takiego jak ten przykład .
Struktura szkolenia używa tfm.core.base_trainer.ExperimentConfig
jako obiektu konfiguracji, który zawiera następujące obiekty konfiguracji najwyższego poziomu:
-
runtime
: Definiuje sprzęt do przetwarzania, strategię dystrybucji i inne optymalizacje wydajności -
task
: Definiuje model, dane szkoleniowe, straty i inicjalizację -
trainer
: Definiuje optymalizator, pętle treningowe, pętle oceny, podsumowania i punkty kontrolne
Aby zapoznać się z pełnym przykładem korzystania z platformy eksperymentu szkoleniowego Model Garden, zobacz samouczek Klasyfikacja obrazów za pomocą Model Garden . Aby uzyskać informacje na temat struktury eksperymentu szkoleniowego, zapoznaj się z dokumentacją interfejsu API TensorFlow Models . Jeśli szukasz rozwiązania do zarządzania pętlami uczenia dla eksperymentów uczenia modelu, zapoznaj się z Orbit .
Wyspecjalizowane operacje ML
Model Garden zawiera wiele operacji wizyjnych i NLP zaprojektowanych specjalnie do wykonywania najnowocześniejszych modeli, które działają wydajnie na GPU i TPU. Zapoznaj się z dokumentacją interfejsu API biblioteki TensorFlow Models Vision, aby uzyskać listę wyspecjalizowanych operacji wizyjnych . Zapoznaj się z dokumentacją TensorFlow Models NLP Library API, aby uzyskać listę operacji NLP . Biblioteki te zawierają również dodatkowe funkcje użytkowe używane do przetwarzania danych wizyjnych i NLP, uczenia i wykonywania modeli.
Pętle treningowe z Orbit
Narzędzie Orbit to elastyczna, lekka biblioteka zaprojektowana, aby ułatwić pisanie niestandardowych pętli szkoleniowych w TensorFlow 2.x i dobrze współpracuje z platformą eksperymentów szkoleniowych Model Garden . Orbit obsługuje typowe zadania uczenia modeli, takie jak zapisywanie punktów kontrolnych, uruchamianie oceny modeli i konfigurowanie pisania podsumowań. Bezproblemowo integruje się z tf.distribute
i obsługuje działanie na różnych typach urządzeń, w tym na CPU, GPU i sprzęcie TPU. Narzędzie Orbit jest również oprogramowaniem typu open source , dzięki czemu możesz je rozszerzać i dostosowywać do swoich potrzeb szkoleniowych.
Zazwyczaj trenujesz modele TensorFlow, pisząc niestandardową pętlę treningową lub używając wysokopoziomowej funkcji Keras Model.fit . W przypadku prostych modeli można zdefiniować niestandardową pętlę treningową i zarządzać nią za pomocą niskopoziomowych metod TensorFlow, takich jak tf.GradientTape
lub tf.function
. Alternatywnie możesz użyć wysokiego poziomu Keras Model.fit
.
Jeśli jednak Twój model jest złożony, a pętla treningowa wymaga bardziej elastycznej kontroli lub dostosowywania, powinieneś użyć Orbita. Możesz zdefiniować większość swojej pętli treningowej za pomocą klasy orbit.AbstractTrainer
lub orbit.StandardTrainer
. Dowiedz się więcej o narzędziu Orbit w dokumentacji interfejsu Orbit API .