U TensorFlow 2.0, koncept sesija je uklonjen u korist revnog izvršavanja, jer revnosno izvršenje omogućuje neposrednu procjenu i lakše otklanjanje pogrešaka operacija, čineći proces intuitivnijim i pitonskim. Ova promjena predstavlja značajan pomak u načinu na koji TensorFlow radi i komunicira s korisnicima.
U TensorFlow 1.x, sesije su korištene za izradu računskog grafikona i njegovo izvođenje u okruženju sesije. Ovaj je pristup bio moćan, ali ponekad glomazan, posebno za početnike i korisnike koji dolaze iz imperativnijeg programiranja. S revnim izvođenjem, operacije se izvršavaju odmah, bez potrebe za izričitim stvaranjem sesije.
Uklanjanje sesija pojednostavljuje tijek rada TensorFlowa i bliže ga usklađuje sa standardnim Python programiranjem. Sada korisnici mogu pisati i izvršavati TensorFlow kod mich prirodnije, slično kao što bi pisali uobičajeni Python kod. Ova promjena poboljšava korisničko iskustvo i snižava krivulju učenja za nove korisnike.
Ako ste naišli na AttributeError pri pokušaju pokretanja nekog koda vježbe koji se oslanja na sesije u TensorFlow 2.0, to je zbog činjenice da sesije više nisu podržane. Da biste riješili ovaj problem, trebate refaktorirati kod kako biste koristili željno izvršavanje. Na taj način možete osigurati da je vaš kod kompatibilan s TensorFlow 2.0 i iskoristiti prednosti koje nudi željno izvršenje.
Evo primjera koji ilustrira razliku između korištenja sesija u TensorFlow 1.x i željnog izvršenja u TensorFlow 2.0:
TensorFlow 1.x (pomoću sesija):
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 (koristeći željno izvođenje):
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)
Ažuriranjem koda vježbe kako bi se potaknulo željno izvođenje, može se osigurati kompatibilnost s TensorFlow 2.0 i iskoristiti njegov pojednostavljeni tijek rada.
Uklanjanje sesija u TensorFlow 2.0 u korist revnog izvršavanja predstavlja promjenu koja poboljšava upotrebljivost i jednostavnost okvira. Prihvaćanjem željnog izvršavanja, korisnici mogu pisati kod TensorFlow prirodnije i učinkovitije, što dovodi do besprijekornijeg iskustva razvoja strojnog učenja.
Ostala nedavna pitanja i odgovori u vezi EITC/AI/GCML Google Cloud Machine Learning:
- Koja su ograničenja u radu s velikim skupovima podataka u strojnom učenju?
- Može li strojno učenje pomoći u dijalogu?
- Što je TensorFlow igralište?
- Što zapravo znači veći skup podataka?
- Koji su primjeri hiperparametara algoritma?
- Što je učenje ansambla?
- Što ako odabrani algoritam strojnog učenja nije prikladan i kako se možemo pobrinuti da odaberemo pravi?
- Treba li modelu strojnog učenja nadzor tijekom obuke?
- Koji su ključni parametri koji se koriste u algoritmima koji se temelje na neuronskim mrežama?
- Što je TensorBoard?
Pogledajte više pitanja i odgovora u EITC/AI/GCML Google Cloud Machine Learning