En TensorFlow 2.0, la koncepto de sesioj estis forigita en favoro de avida ekzekuto, ĉar avida ekzekuto permesas tujan taksadon kaj pli facilan sencimigon de operacioj, igante la procezon pli intuicia kaj Pythonic. Ĉi tiu ŝanĝo reprezentas signifan ŝanĝon en kiel TensorFlow funkcias kaj interagas kun uzantoj.
En TensorFlow 1.x, sesioj estis uzitaj por konstrui komputadgrafon kaj tiam efektivigi ĝin ene de sesiomedio. Ĉi tiu aliro estis potenca sed foje maloportuna, precipe por komencantoj kaj uzantoj venantaj de pli nepra programa fono. Kun avida ekzekuto, operacioj estas efektivigitaj tuj, sen la bezono krei seancon eksplicite.
La forigo de sesioj simpligas la laborfluon de TensorFlow kaj vicigas ĝin pli proksime kun norma Python-programado. Nun uzantoj povas skribi kaj efektivigi TensorFlow-kodon pli nature, simile al kiel ili skribus regulan Python-kodon. Ĉi tiu ŝanĝo plibonigas la uzantan sperton kaj malaltigas la lernkurbon por novaj uzantoj.
Se vi renkontis AttributeError kiam vi provis ruli iun ekzercan kodon, kiu dependas de sesioj en TensorFlow 2.0, tio estas pro la fakto, ke sesioj ne plu estas subtenataj. Por solvi ĉi tiun problemon, vi devas refaktorigi la kodon por uzi avidan ekzekuton. Farante tion, vi povas certigi, ke via kodo estas kongrua kun TensorFlow 2.0 kaj utiligi la avantaĝojn, kiujn proponas avida ekzekuto.
Jen ekzemplo por ilustri la diferencon inter uzado de sesioj en TensorFlow 1.x kaj avida ekzekuto en TensorFlow 2.0:
TensorFlow 1.x (uzante sesiojn):
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 (uzante fervoran ekzekuton):
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)
Ĝisdatigante ekzerckodon por utiligi fervoran ekzekuton, oni povas certigi kongruon kun TensorFlow 2.0 kaj profiti de ĝia flulinia laborfluo.
La forigo de sesioj en TensorFlow 2.0 favore al avida ekzekuto reprezentas ŝanĝon, kiu plibonigas la uzeblon kaj simplecon de la kadro. Akceptante fervoran ekzekuton, uzantoj povas skribi TensorFlow-kodon pli nature kaj efike, kondukante al pli senjunta maŝinlernada disvolva sperto.
Aliaj lastatempaj demandoj kaj respondoj pri EITC/AI/GCML Google Cloud Machine Machine Learning:
- Kio estas teksto al parolado (TTS) kaj kiel ĝi funkcias kun AI?
- Kio estas la limigoj por labori kun grandaj datumaroj en maŝina lernado?
- Ĉu maŝinlernado povas fari iun dialogan helpon?
- Kio estas la ludejo TensorFlow?
- Kion fakte signifas pli granda datumaro?
- Kio estas kelkaj ekzemploj de hiperparametroj de algoritmo?
- Kio estas ensamble-lernado?
- Kio se elektita maŝinlernada algoritmo ne taŭgas kaj kiel oni povas certigi elekti la ĝustan?
- Ĉu maŝinlernada modelo bezonas superrigardon dum sia trejnado?
- Kiuj estas la ŝlosilaj parametroj uzataj en algoritmoj bazitaj en neŭralaj reto?
Rigardu pliajn demandojn kaj respondojn en EITC/AI/GCML Google Cloud Machine Learning