Wydanie systemu uczenia maszynowego TensorFlow 2.0

Przedstawiony znacząca wersja platformy uczenia maszynowego TensorFlow 2.0, oferująca gotowe implementacje różnych algorytmów głębokiego uczenia maszynowego, prosty interfejs programistyczny do budowania modeli w języku Python oraz niski poziom interfejsu w języku C++, umożliwiający zarządzanie budową i wykonywaniem grafów obliczeniowych. Kod systemu napisany jest w językach C++ i Python i rozpowszechniany na licencji Apache.

Platforma została pierwotnie opracowana przez zespół Google Brain i jest wykorzystywana w usługach Google do rozpoznawania mowy, wykrywania twarzy na zdjęciach, określania podobieństwa obrazów, filtrowania spamu w Gmailu, dobierania wiadomości w Google News i organizowania tłumaczeń z uwzględnieniem kontekstu. Rozproszone systemy uczenia maszynowego można tworzyć na standardowym sprzęcie, dzięki wbudowanemu wsparciu w TensorFlow dla rozdzielania obliczeń na wiele CPU lub GPU.

TensorFlow zapewnia bibliotekę gotowych algorytmów obliczeń numerycznych, zrealizowanych za pomocą grafów przepływu danych (data flow graphs). Węzły w takich grafach realizują operacje matematyczne lub punkty wejścia/wyjścia, podczas gdy krawędzie grafu reprezentują wielowymiarowe tablice danych (tenzory), które płyną między węzłami.
Węzły mogą być przypisane do urządzeń obliczeniowych i wykonywane asynchronicznie, równolegle przetwarzając wszystkie odpowiednie tenzory, co pozwala na równoczesne działanie węzłów w sieci neuronowej, podobnie jak równoczesna aktywacja neuronów w mózgu.

Główna uwaga podczas przygotowywania nowej wersji została poświęcona uproszczeniu i łatwości użycia. Niektóre nowości:

  • Do budowy i treningu modeli zaproponowano nowy, wysokopoziomowy API Keras, oferujący kilka opcji interfejsów do budowy modeli (Sequential, Functional, Subclassing) z możliwością ich natychmiastowego wykonania (bez wcześniejszej kompilacji) i z prostym mechanizmem debugowania;
  • Dodano API tf.distribute.Strategy do organizacji rozproszonego uczenia modeli z minimalną zmianą istniejącego kodu. Oprócz możliwości rozdzielania obliczeń na wiele GPU, dostępne jest eksperymentalne wsparcie dla podziału procesu uczenia na wiele niezależnych procesorów i możliwość wykorzystania chmurowych TPU (jednostka przetwarzania tenzorów);
  • Zamiast deklaratywnego modelu budowy grafu z wykonaniem za pomocą tf.Session wprowadzono możliwość pisania zwykłych funkcji w języku Python, które dzięki wywołaniu tf.function mogą być przekształcane w grafy, a następnie wykonywane zdalnie, serializowane lub optymalizowane w celu zwiększenia wydajności;
  • Dodano tłumacz AutoGraph, przekształcający strumień poleceń Pythona w wyrażenia TensorFlow, co pozwala na użycie kodu w języku Python wewnątrz funkcji ozdobionych tf.function, tf.data, tf.distribute i tf.keras;
  • W SavedModel ujednolicono format wymiany modeli oraz dodano wsparcie dla zapisywania i przywracania stanu modeli. Zbudowane dla TensorFlow modele mogą teraz być używane w TensorFlow Lite (na urządzeniach mobilnych), TensorFlow JS (w przeglądarce lub Node.js), TensorFlow Serving i TensorFlow Hub;
  • Ujednolicono API tf.train.Optimizers i tf.keras.Optimizers, zamiast compute_gradients do obliczania gradientów zaproponowano nową klasę GradientTape;
  • Znacząco zwiększona wydajność przy użyciu GPU.
    Szybkość uczenia się modeli na systemach z GPU NVIDIA Volta i Turing wzrosła do trzech razy;
  • Przeprowadzono duże porządki w API, wiele wywołań zostało przemianowanych lub usuniętych, zaprzestano wsparcia dla zmiennych globalnych w metodach pomocniczych. Zamiast tf.app, tf.flags, tf.logging wprowadzono nowe API absl-py. Aby kontynuować korzystanie ze starego API, przygotowano moduł compat.v1.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster