U TensorFlow 2.0, koncept sesija je uklonjen u korist nestrpljivog izvršavanja, jer željno izvršavanje omogućava trenutnu evaluaciju i lakše otklanjanje grešaka u operacijama, čineći proces intuitivnijim i Pythonic. Ova promjena predstavlja značajan pomak u načinu na koji TensorFlow radi i komunicira s korisnicima.
U TensorFlow 1.x, sesije su korišćene za pravljenje grafa izračunavanja, a zatim njegovo izvršavanje u okruženju sesije. Ovaj pristup je bio moćan, ali ponekad glomazan, posebno za početnike i korisnike koji dolaze iz imperativnijeg programiranja. Uz željno izvršavanje, operacije se izvršavaju odmah, bez potrebe za eksplicitnim kreiranjem sesije.
Uklanjanje sesija pojednostavljuje tok rada TensorFlow i bliže ga usklađuje sa standardnim Python programiranjem. Sada korisnici mogu pisati i izvršavati TensorFlow kod mnogo prirodnije, slično kao što bi pisali običan Python kod. Ova promjena poboljšava korisničko iskustvo i smanjuje krivulju učenja za nove korisnike.
Ako ste naišli na AttributeError kada pokušavate da pokrenete neki kôd 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, morate refaktorirati kod kako biste iskoristili željno izvršavanje. Na taj način možete osigurati da je vaš kod kompatibilan sa TensorFlow 2.0 i iskoristiti prednosti koje nudi željno izvršavanje.
Evo primjera koji ilustruje razliku između korištenja sesija u TensorFlow 1.x i željnog izvršavanja u TensorFlow 2.0:
TensorFlow 1.x (koristeći sesije):
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 izvršavanje):
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 za vježbanje kako bi se iskoristilo željno izvršavanje, može se osigurati kompatibilnost sa TensorFlow 2.0 i imati koristi od njegovog pojednostavljenog toka rada.
Uklanjanje sesija u TensorFlow 2.0 u korist željnog izvršavanja predstavlja promjenu koja poboljšava upotrebljivost i jednostavnost okvira. Prihvatajući željno izvršavanje, korisnici mogu pisati TensorFlow kod prirodnije i efikasnije, što dovodi do besprekornijeg iskustva razvoja mašinskog 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 mašinskom učenju?
- Može li mašinsko učenje pomoći u dijaloškom smislu?
- Šta je TensorFlow igralište?
- Šta zapravo znači veći skup podataka?
- Koji su neki primjeri hiperparametara algoritma?
- Šta je ansambl učenje?
- Što ako odabrani algoritam strojnog učenja nije prikladan i kako se može osigurati da odaberete pravi?
- Da li modelu mašinskog učenja treba nadzor tokom obuke?
- Koji su ključni parametri koji se koriste u algoritmima zasnovanim na neuronskim mrežama?
- Šta je TensorBoard?
Pogledajte više pitanja i odgovora u EITC/AI/GCML Google Cloud Machine Learning