Прадстаўлены значны выпуск платформы машыннага навучання Tensorflow 2.0, якая прадстаўляе гатовыя рэалізацыі розных алгарытмаў глыбокага машыннага навучання, просты праграмны інтэрфейс для пабудовы мадэляў на мове Python і нізкаўзроўневы інтэрфейс для мовы С++, які дазваляе кіраваць пабудовай і выкананнем вылічальных графаў. Код сістэмы напісаны на мовах З++ і Python і распаўсюджваецца пад ліцэнзіяй Apache.
Платформа першапачаткова распрацавана камандай Google Brain і выкарыстоўваюцца ў сэрвісах Google для распазнання прамовы, вылучэнні асоб на фатаграфіях, вызначэнне падабенства малюнкаў, адсяванне спаму ў Gmail, падбору навін у Google News і арганізацыі перакладу з улікам сэнсу. Размеркаваныя сістэмы машыннага навучання можна ствараць на тыпавым абсталяванні, дзякуючы ўбудаванай падтрымцы ў TensorFlow разнясенні вылічэнняў на некалькі CPU ці GPU.
TensorFlow дае бібліятэку гатовых алгарытмаў лікавых вылічэнняў, рэалізаваных праз графы патокаў даных (data flow graphs). Вузлы ў такіх графах рэалізуюць матэматычныя аперацыі або кропкі ўваходу/высновы, у той час як рэбры графа ўяўляюць шматмерныя масівы дадзеных (тэнзары), якія перацякаюць паміж вузламі.
Вузлы могуць быць замацаваны за вылічальнымі прыладамі і выконвацца асінхронна, паралельна апрацоўваючы зараз усе прыдатныя да іх тэзары, што дазваляе арганізаваць адначасовую працу вузлоў у нейронавай сетцы па аналогіі з адначасовай актывацыяй нейронаў у мозгу.
Асноўная ўвага пры падрыхтоўцы новай версіі была нададзена спрашчэнню і прастаце выкарыстання. Некаторыянавіны:
Для пабудовы і трэніроўкі мадэляў прапанаваны новы высокаўзроўневы API Керас, які прадстаўляе некалькі варыянтаў інтэрфейсаў для пабудовы мадэляў (Sequential, Functional, Subclassing) з магчымасцю іх неадкладнага выканання (без папярэдняй кампіляцыі) і з простым механізмам адладкі;
Дададзены API tf.distribute.Strategy для арганізацыі размеркаванага навучання мадэляў з мінімальнай зменай існуючага кода. Акрамя магчымасці разнясення вылічэнняў на некалькі GPU, даступная эксперыментальная падтрымка разнясення працэсу навучання на некалькі незалежных апрацоўшчыкаў і магчымасць задзейнічання хмарных ТПУ (Tensor processing unit);
Замест дэкларатыўнай мадэлі пабудовы графа з выкананнем праз tf.Session прадстаўлена магчымасць напісання звычайных функцый на мове Python, якія пры дапамозе выкліку tf.function могуць быць пераўтвораны ў графы і затым аддалена выкананы, серыялізаваны або аптымізаваны для павышэння прадукцыйнасці;
Дададзены транслятар AutoGraph, пераўтваральны струмень каманд Python у выразы TensorFlow, што дазваляе выкарыстоўваць код на мове Python усярэдзіне функцый tf.function-decorated, tf.data, tf.distribute і tf.keras;
У SavedModel уніфікаваны фармат абмену мадэлямі і дададзена падтрымка захавання і ўзнаўленні стану мадэляў. Сабраныя для TensorFlow мадэлі зараз могуць быць выкарыстаны ў TensorFlow Lite (на мабільных прыладах), TensorFlow JS (у браўзэры або Node.js), Абслугоўванне TensorFlow и Канцэнтратар TensorFlow;
Уніфікаваны API tf.train.Optimizers і tf.keras.Optimizers, замест compute_gradients для вылічэння градыентаў прапанаваны новы клас GradientTape;
Значна павялічана прадукцыйнасць пры выкарыстанні GPU.
Хуткасць навучання мадэляў на сістэмах з GPU NVIDIA Volta і Turing узрасла да трох разоў;
Праведзена вялікая чыстка API, многія выклікі перайменаваны або выдалены, спынена падтрымка глабальных зменных у дапаможных метадах. Замест tf.app, tf.flags, tf.logging прапанаваны новы API absl-py. Для працягу выкарыстання старога API падрыхтаваны модуль compat.v1.