Вчера 30 сентября Google объявил о выходе финального релиза TensorFlow 2.0.
«TensorFlow 2.0 является ПО с открытым исходным кодом и поддерживается сообществом, которое говорит, что им нужна простая в использовании платформа, гибкая и мощная, которая поддерживает развертывание на любой платформе. TensorFlow 2.0 предоставляет обширную экосистему инструментов для разработчиков, предприятий и исследователей, которые хотят использовать новейшие технологии машинного обучения и создавать масштабируемые приложения на базе ML.» — говорится в блоге Tensorflow на платформе Medium.
В TensorFlow 2.0 сделан ряд изменений делающих пользователей TensorFlow более продуктивными. TensorFlow 2.0 удалил избыточные API, после чего API стали более согласованными (Unified RNNs, Unified Optimizers), и лучше интегрировался с Python runtime, с Eager execution.
В TensorFlow 1.X от пользователей требовалось вручную собирать абстрактное синтаксическое дерево (граф) выполняя tf.* API запросы. Затем пользователи должны вручную скомпилировать абстрактное синтаксическое дерево путем передачи множества выходных и входных тензоров в вызов session.run(). TensorFlow 2.0 выполняется сразу же (как это обычно делает Python) и в 2.0, графы и сессии должны рассматриваться как детали реализации.
TensorFlow 1.X значительно зависел от неявных глобальных пространств имен. Когда вы вызывали tf.Variable(), она помещалась в граф по умолчанию, и она оставалась там даже если вы потеряли track переменной Python указывавшей на него. Вы можете затем восстановить ту tf.Variable, но только если вы знали имя с которым она была создана. Это было сложно сделать если вы не контролировали создание переменных.
Вызов session.run() почти похож на вызов функции: Вы определяете вводные данные, функция вызывается и вы получаете набор результатов. В TensorFlow 2.0, вы можете декорировать функцию Python используя tf.function() чтобы отметить ее для JIT компиляции так что TensorFlow выполняет его как единый граф (Functions 2.0 RFC).
Написано на основе:
— The Wait is Over — TensorFlow 2.0 Released!
— Эффективный TensorFlow 2.0