У 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 Machine Learning:
- Що таке синтез мовлення (TTS) і як він працює з ШІ?
- Які обмеження існують у роботі з великими наборами даних у машинному навчанні?
- Чи може машинне навчання надати певну діалогову допомогу?
- Що таке ігровий майданчик TensorFlow?
- Що насправді означає більший набір даних?
- Які приклади гіперпараметрів алгоритму?
- Що таке навчання ансамблю?
- Що робити, якщо обраний алгоритм машинного навчання не підходить, і як переконатися, що вибрано правильний?
- Чи потребує модель машинного навчання нагляд під час навчання?
- Які ключові параметри використовуються в алгоритмах на основі нейронної мережі?
Перегляньте більше запитань і відповідей у EITC/AI/GCML Google Cloud Machine Learning