В 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) и как работи с AI?
- Какви са ограниченията при работа с големи набори от данни в машинното обучение?
- Може ли машинното обучение да окаже някаква диалогична помощ?
- Какво представлява детската площадка TensorFlow?
- Какво всъщност означава по-голям набор от данни?
- Кои са някои примери за хиперпараметри на алгоритъма?
- Какво представлява ансамбълното обучение?
- Какво става, ако избраният алгоритъм за машинно обучение не е подходящ и как може човек да се увери, че е избрал правилния?
- Нуждае ли се моделът за машинно обучение от надзор по време на обучението си?
- Какви са ключовите параметри, използвани в алгоритми, базирани на невронни мрежи?
Вижте още въпроси и отговори в EITC/AI/GCML Google Cloud Machine Learning