Vydání systému strojového učení TensorFlow 2.0

Představení významné vydání platformy strojového učení TensorFlow 2.0, která poskytuje připravené implementace různých algoritmů hlubokého strojového učení, jednoduché programové rozhraní pro vytváření modelů v jazyce Python a nízkoúrovňové rozhraní pro jazyk C++, které umožňuje řídit budování a provádění výpočetních grafů. Kód systému je napsán v jazycích C++ a Python a distribuováno pod licencí Apache.

Platforma byla původně vyvinuta týmem Google Brain a používá se v službách Google pro rozpoznávání řeči, identifikaci obličejů na fotografiích, určování podobnosti obrazů, filtrování spamu v Gmailu, výběr novinek v Google News a organizaci překladů s ohledem na kontext. Distribuované systémy strojového učení lze vytvářet na standardním hardwaru, díky vestavěné podpoře v TensorFlow pro rozložení výpočtů na více CPU nebo GPU.

TensorFlow poskytuje knihovnu připravených algoritmů numerických výpočtů, realizovaných pomocí grafů toků dat (data flow graphs). Uzly v těchto grafech realizují matematické operace nebo vstupně/výstupní body, zatímco hrany grafu představují vícerozměrné datové pole (tenzory), které procházejí mezi uzly.
Uzly mohou být přiřazeny k výpočetním zařízením a prováděny asynchronně, paralelně zpracovávající všechny odpovídající tenzory, což umožňuje organizovat současné fungování uzlů v neuronové síti podobně jako současnou aktivaci neuronů v mozku.

Hlavní důraz při přípravě nové verze byl kladen na zjednodušení a jednoduchost použití. Některé novinky:

  • Pro vytváření a trénování modelů byl navržen nový vysoce úrovňový API Keras, který poskytuje několik variant rozhraní pro vytváření modelů (Sekvenční, Funkční, Podtřídění) s možností jejich okamžitého provedení (bez předchozího kompilování) a s jednoduchým mechanismem ladění;
  • Bylo přidáno API tf.distribute.Strategy pro organizaci distribuovaného učení modelů s minimálními změnami stávajícího kódu. Kromě možnosti rozložení výpočtů na více GPU, je k dispozici experimentální podpora pro rozložení procesu učení na více nezávislých zpracovatelů a možnost zapojení cloudových TPU (Tensor processing unit);
  • Namísto deklarativního modelu pro tvorbu grafu s prováděním přes tf.Session byla poskytnuta možnost psaní běžných funkcí v jazyce Python, které mohou být pomocí volání tf.function převedeny na grafy a poté prováděny, serializovány nebo optimalizovány pro zvýšení výkonu;
  • Byl přidán překladač AutoGraph, který převádí tok příkazů Pythonu na výrazy TensorFlow, což umožňuje používat kód v jazyce Python v rámci funkcí opatřených dekorátorem tf.function, tf.data, tf.distribute a tf.keras;
  • Ve SavedModel byl sjednocen formát výměny modelů a přidána podpora pro ukládání a obnovování stavů modelů. Modely sestavené pro TensorFlow mohou nyní být použity v TensorFlow Lite (na mobilních zařízeních), TensorFlow JS (v prohlížeči nebo Node.js), TensorFlow Serving a TensorFlow Hub;
  • Byly sjednoceny API tf.train.Optimizers a tf.keras.Optimizers, namísto compute_gradients pro výpočet gradientů byl nabídnut nový třída GradientTape;
  • Výrazně se zvýšil výkon při používání GPU.
    Rychlost učení modelů na systémech s GPU NVIDIA Volta a Turing vzrostla až třikrát;
  • Bylo provedeno bylo provedeno velké čištění API, mnoho volání bylo přejmenováno nebo odstraněno, byla ukončena podpora globálních proměnných v pomocných metodách. Místo tf.app, tf.flags, tf.logging byl nabídnut nový API absl-py. Pro pokračování v používání starého API byl připraven modul compat.v1.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster