významné vydání platformy strojového učení , 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 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, 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í. :
- Pro vytváření a trénování modelů byl navržen nový vysoce úrovňový API , který poskytuje několik variant rozhraní pro vytváření modelů (Sekvenční, Funkční, Podtřídění) s možností jejich (bez předchozího kompilování) a s jednoduchým mechanismem ladění;
- Bylo přidáno API pro organizaci modelů s minimálními změnami stávajícího kódu. Kromě možnosti rozložení výpočtů na , 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 (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č , 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 (na mobilních zařízeních), (v prohlížeči nebo Node.js), a ;
- 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 ;
- 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 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
