I TensorFlow 2.0 er begrebet sessioner blevet fjernet til fordel for ivrig eksekvering, da ivrig eksekvering giver mulighed for øjeblikkelig evaluering og lettere fejlfinding af operationer, hvilket gør processen mere intuitiv og pytonisk. Denne ændring repræsenterer et væsentligt skift i, hvordan TensorFlow fungerer og interagerer med brugerne.
I TensorFlow 1.x blev sessioner brugt til at bygge en beregningsgraf og derefter udføre den i et sessionsmiljø. Denne tilgang var kraftfuld, men nogle gange besværlig, især for begyndere og brugere fra en mere tvingende programmeringsbaggrund. Med ivrig eksekvering udføres operationer med det samme, uden at det er nødvendigt at oprette en session eksplicit.
Fjernelsen af sessioner forenkler TensorFlow-arbejdsgangen og tilpasser den tættere til standard Python-programmering. Nu kan brugere skrive og udføre TensorFlow-kode meget mere naturligt, svarende til hvordan de ville skrive almindelig Python-kode. Denne ændring forbedrer brugeroplevelsen og sænker indlæringskurven for nye brugere.
Hvis du stødte på en AttributeError, da du forsøgte at køre en træningskode, der er afhængig af sessioner i TensorFlow 2.0, skyldes det, at sessioner ikke længere understøttes. For at løse dette problem skal du omfaktorere koden for at bruge ivrig eksekvering. Ved at gøre det kan du sikre dig, at din kode er kompatibel med TensorFlow 2.0 og drage fordel af de fordele, som ivrig eksekvering tilbyder.
Her er et eksempel for at illustrere forskellen mellem at bruge sessioner i TensorFlow 1.x og ivrig eksekvering i TensorFlow 2.0:
TensorFlow 1.x (ved hjælp af sessioner):
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 (ved hjælp af ivrig udførelse):
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)
Ved at opdatere træningskoden for at udnytte ivrig udførelse kan man sikre kompatibilitet med TensorFlow 2.0 og drage fordel af dets strømlinede arbejdsgang.
Fjernelsen af sessioner i TensorFlow 2.0 til fordel for ivrig eksekvering repræsenterer en ændring, der forbedrer anvendeligheden og enkelheden af rammeværket. Ved at omfavne ivrig eksekvering kan brugere skrive TensorFlow-kode mere naturligt og effektivt, hvilket fører til en mere problemfri udviklingsoplevelse for maskinlæring.
Andre seneste spørgsmål og svar vedr EITC/AI/GCML Google Cloud Machine Learning:
- Hvad er begrænsningerne ved at arbejde med store datasæt i maskinlæring?
- Kan maskinlæring hjælpe med dialog?
- Hvad er TensorFlow-legepladsen?
- Hvad betyder et større datasæt egentlig?
- Hvad er nogle eksempler på algoritmens hyperparametre?
- Hvad er ensamble learning?
- Hvad hvis en valgt maskinlæringsalgoritme ikke er egnet, og hvordan kan man sikre sig at vælge den rigtige?
- Har en maskinlæringsmodel brug for supervision under træningen?
- Hvad er de vigtigste parametre, der bruges i neurale netværksbaserede algoritmer?
- Hvad er TensorBoard?
Se flere spørgsmål og svar i EITC/AI/GCML Google Cloud Machine Learning