Посмотреть на TensorFlow.org | Запустить в Google Colab | Посмотреть исходный код на GitHub | Скачать блокнот |
TensorFlow 2.x включает в себя множество изменений API по сравнению с TF 1.x и API tf.compat.v1 , таких как изменение порядка аргументов, переименование символов и изменение значений по умолчанию для параметров. Вручную выполнять все эти модификации было бы утомительно и подвержено ошибкам. Чтобы упростить изменения и сделать ваш переход на TF 2.x как можно более плавным, команда tf_upgrade_v2 утилиту tf_upgrade_v2, которая поможет перенести устаревший код на новый API.
Типичное использование выглядит так:
tf_upgrade_v2 \ --intree my_project/ \ --outtree my_project_v2/ \ --reportfile report.txt
Это ускорит процесс обновления за счет преобразования существующих скриптов TensorFlow 1.x Python в TensorFlow 2.x.
Сценарий преобразования автоматизирует многие механические преобразования API, хотя многие API не могут быть автоматически перенесены. Он также не может полностью сделать ваш код совместимым с поведением и API TF2. Итак, это только часть вашего миграционного пути.
Модули совместимости
Некоторые символы API нельзя обновить, просто заменив строку. Те, которые не могут быть обновлены автоматически, будут сопоставлены с их расположением в модуле compat.v1 . Этот модуль заменяет символы TF 1.x, такие как tf.foo , на эквивалентную ссылку tf.compat.v1.foo . Если вы уже используете API-интерфейсы compat.v1 , импортировав TF через import tensorflow.compat.v1 as tf , скрипт tf_upgrade_v2 попытается преобразовать эти использования в несовместимые API, где это возможно. Обратите внимание, что хотя некоторые API compat.v1 совместимы с поведением TF2.x, многие — нет. Поэтому мы рекомендуем вам вручную вычитывать замены и как можно быстрее переносить их на новые API в пространстве имен tf.* вместо пространства имен tf.compat.v1 .
Из-за устаревания модуля TensorFlow 2.x (например, tf.flags и tf.contrib ) некоторые изменения нельзя обойти, переключившись на compat.v1 . Для обновления этого кода может потребоваться использование дополнительной библиотеки (например, absl.flags ) или переход на пакет в tensorflow/addons .
Рекомендуемый процесс обновления
В оставшейся части этого руководства показано, как использовать скрипт перезаписи символов. Хотя сценарий прост в использовании, настоятельно рекомендуется использовать его как часть следующего процесса:
Посмотреть на TensorFlow.org
Запустить в Google Colab
Посмотреть исходный код на GitHub
Скачать блокнот