В TensorFlow 2.0 концепция сеансов была удалена в пользу быстрого выполнения, поскольку активное выполнение позволяет немедленно оценить и упростить отладку операций, что делает процесс более интуитивным и Pythonic. Это изменение представляет собой значительный сдвиг в том, как TensorFlow работает и взаимодействует с пользователями.
В TensorFlow 1.x сеансы использовались для построения графа вычислений и последующего его выполнения в среде сеанса. Этот подход был мощным, но иногда громоздким, особенно для новичков и пользователей с более императивным опытом программирования. При активном выполнении операции выполняются немедленно, без необходимости явного создания сеанса.
Удаление сессий упрощает рабочий процесс TensorFlow и более тесно согласовывает его со стандартным программированием на Python. Теперь пользователи могут писать и выполнять код TensorFlow более естественно, подобно тому, как они пишут обычный код Python. Это изменение улучшает взаимодействие с пользователем и сокращает время обучения для новых пользователей.
Если вы столкнулись с ошибкой AttributeError при попытке запустить какой-либо код упражнения, основанный на сеансах в TensorFlow 2.0, это связано с тем, что сеансы больше не поддерживаются. Чтобы решить эту проблему, вам необходимо провести рефакторинг кода, чтобы использовать активное выполнение. Поступив так, вы сможете убедиться, что ваш код совместим с TensorFlow 2.0, и воспользоваться преимуществами, которые предлагает активное выполнение.
Вот пример, иллюстрирующий разницу между использованием сеансов в TensorFlow 1.x и нетерпеливым выполнением в TensorFlow 2.0:
TensorFlow 1.x (с использованием сеансов):
python import tensorflow as tf # Build a graph a = tf.constant(2) b = tf.constant(3) c = tf.add(a, b) # Create a session and run the graph with tf.Session() as sess: result = sess.run(c) print(result)
TensorFlow 2.0 (с использованием нетерпеливого выполнения):
python import tensorflow as tf # Enable eager execution tf.config.run_functions_eagerly(True) # Perform operations without the need for a session a = tf.constant(2) b = tf.constant(3) c = tf.add(a, b) print(c)
Обновив код упражнений для повышения оперативности выполнения, можно обеспечить совместимость с TensorFlow 2.0 и получить выгоду от оптимизированного рабочего процесса.
Удаление сеансов в TensorFlow 2.0 в пользу быстрого выполнения представляет собой изменение, которое повышает удобство использования и простоту платформы. Благодаря быстрому выполнению пользователи могут писать код TensorFlow более естественно и эффективно, что обеспечивает более плавную разработку машинного обучения.
Другие недавние вопросы и ответы, касающиеся EITC/AI/GCML Машинное обучение Google Cloud:
- Что такое преобразование текста в речь (TTS) и как оно работает с искусственным интеллектом?
- Каковы ограничения при работе с большими наборами данных в машинном обучении?
- Может ли машинное обучение оказать некоторую диалогическую помощь?
- Что такое игровая площадка TensorFlow?
- Что на самом деле означает больший набор данных?
- Каковы примеры гиперпараметров алгоритма?
- Что такое ансамблевое обучение?
- Что делать, если выбранный алгоритм машинного обучения не подходит и как можно убедиться, что выбран правильный?
- Нуждается ли модель машинного обучения в контроле во время обучения?
- Какие ключевые параметры используются в алгоритмах на основе нейронных сетей?
Просмотреть дополнительные вопросы и ответы в EITC/AI/GCML Google Cloud Machine Learning