Wydanie systemu uczenia maszynowego TensorFlow 2.0

Przesłane przez znaczące wydanie platformy uczenia maszynowego Przepływ Tensora 2.0, który udostępnia gotowe implementacje różnych algorytmów głębokiego uczenia maszynowego, prosty interfejs programistyczny do budowania modeli w Pythonie oraz niskopoziomowy interfejs dla języka C++ pozwalający na kontrolę konstrukcji i wykonywania grafów obliczeniowych. Kod systemu jest napisany w C++ i Pythonie dystrybuowane przez na licencji Apache.

Platforma została pierwotnie opracowana przez zespół Google Brain i wykorzystywana jest w usługach Google do rozpoznawania mowy, rozpoznawania twarzy na zdjęciach, określania podobieństwa obrazów, filtrowania spamu w Gmailu, wybór aktualności w Google News i organizowanie tłumaczeń pod kątem znaczenia. Rozproszone systemy uczenia maszynowego można tworzyć na standardowym sprzęcie, dzięki wbudowanej obsłudze TensorFlow do dystrybucji obliczeń na wiele procesorów lub procesorów graficznych.

TensorFlow udostępnia bibliotekę gotowych algorytmów obliczeń numerycznych realizowanych poprzez wykresy przepływu danych. Węzły na takich grafach realizują operacje matematyczne lub punkty wejścia/wyjścia, podczas gdy krawędzie wykresu reprezentują wielowymiarowe tablice danych (tensory), które przepływają pomiędzy węzłami.
Węzły można przypisywać do urządzeń obliczeniowych i wykonywać asynchronicznie, jednocześnie przetwarzając jednocześnie wszystkie odpowiednie dla nich tezy, co pozwala na zorganizowanie jednoczesnej pracy węzłów w sieci neuronowej analogicznie do jednoczesnej aktywacji neuronów w mózgu.

Przygotowując nową wersję, główny nacisk położono na uproszczenie i łatwość obsługi. Niektóre innowacje:

  • Zaproponowano nowy interfejs API wysokiego poziomu do budowania i uczenia modeli Keras, który zapewnia kilka opcji interfejsu do budowania modeli (sekwencyjny, funkcjonalny, podklasowy) z możliwością natychmiastowa realizacja (bez wstępnej kompilacji) i z prostym mechanizmem debugowania;
  • Dodano API Strategia.tf.distribute dla organizacji nauczanie rozproszone modele z minimalnymi zmianami w istniejącym kodzie. Oprócz możliwości rozłożenia obliczeń wiele procesorów graficznychdostępne jest eksperymentalne wsparcie podziału procesu uczenia się na kilka niezależnych procesorów oraz możliwość wykorzystania chmury TPU (jednostka przetwarzająca tensor);
  • Zamiast deklaratywnego modelu konstruowania wykresu z wykonaniem poprzez tf.Session, można napisać w Pythonie zwykłe funkcje, które za pomocą wywołania tf.function można przekształcić w grafy, a następnie zdalnie wykonać, serializować lub optymalizować dla lepszej wydajności;
  • Dodano tłumacza Autograf, który konwertuje strumień poleceń Pythona na wyrażenia TensorFlow, umożliwiając użycie kodu Pythona w funkcjach tf.function-decorated, tf.data, tf.distribute i tf.keras;
  • SavedModel ujednolica format wymiany modeli i dodaje obsługę zapisywania i przywracania stanów modeli. Można teraz używać modeli skompilowanych dla TensorFlow TensorFlow Lite (na urządzeniach mobilnych), TensorFlow JS (w przeglądarce lub Node.js), Obsługa TensorFlow и Centrum TensorFlow;
  • Ujednolicono interfejsy API tf.train.Optimizers i tf.keras.Optimizers, zamiast compute_gradients zaproponowano nową klasę do obliczania gradientów Taśma gradientowa;
  • Znacząco zwiększona wydajność podczas korzystania z procesora graficznego.
    Szybkość uczenia modeli na systemach z procesorami graficznymi NVIDIA Volta i Turing wzrosła aż trzykrotnie;

  • Przeprowadzone Duże porządki w interfejsie API, zmieniono nazwy lub usunięto wiele wywołań, zatrzymano obsługę zmiennych globalnych w metodach pomocniczych. Zamiast tf.app, tf.flags, tf.logging zaproponowano nowe API absl-py. Aby kontynuować korzystanie ze starego API, przygotowano moduł compat.v1.

Źródło: opennet.ru

Dodaj komentarz