V TensorFlow 2.0 je bil koncept sej odstranjen v korist nestrpnega izvajanja, saj nestrpno izvajanje omogoča takojšnjo oceno in lažje odpravljanje napak v operacijah, zaradi česar je proces bolj intuitiven in Pythonic. Ta sprememba predstavlja pomemben premik v tem, kako TensorFlow deluje in komunicira z uporabniki.
V TensorFlow 1.x so bile seje uporabljene za izgradnjo računskega grafa in njegovo nato izvedbo v okolju seje. Ta pristop je bil močan, a včasih okoren, zlasti za začetnike in uporabnike, ki prihajajo iz bolj zahtevnega programerskega ozadja. Z nestrpnim izvajanjem se operacije izvedejo takoj, brez potrebe po izrecnem ustvarjanju seje.
Odstranitev sej poenostavi potek dela TensorFlow in ga bolj uskladi s standardnim programiranjem Python. Zdaj lahko uporabniki pišejo in izvajajo kodo TensorFlow bolj naravno, podobno kot bi pisali običajno kodo Python. Ta sprememba izboljša uporabniško izkušnjo in zniža krivuljo učenja za nove uporabnike.
Če ste naleteli na AttributeError, ko ste poskušali zagnati kodo vadbe, ki se opira na seje v TensorFlow 2.0, je to posledica dejstva, da seje niso več podprte. Če želite rešiti to težavo, morate preoblikovati kodo, da bo uporabljala vneto izvajanje. S tem lahko zagotovite, da je vaša koda združljiva s TensorFlow 2.0, in izkoristite prednosti, ki jih ponuja vneto izvajanje.
Tu je primer za ponazoritev razlike med uporabo sej v TensorFlow 1.x in nestrpnim izvajanjem v TensorFlow 2.0:
TensorFlow 1.x (z uporabo sej):
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 (z uporabo vnetega izvajanja):
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)
S posodobitvijo kode vadbe za spodbujanje nestrpnega izvajanja lahko zagotovite združljivost s TensorFlow 2.0 in izkoristite njegov poenostavljen delovni tok.
Odstranitev sej v TensorFlow 2.0 v korist nestrpnega izvajanja predstavlja spremembo, ki povečuje uporabnost in preprostost ogrodja. Če sprejmejo vneto izvajanje, lahko uporabniki pišejo kodo TensorFlow bolj naravno in učinkovito, kar vodi do bolj brezhibne razvojne izkušnje strojnega učenja.
Druga nedavna vprašanja in odgovori v zvezi EITC/AI/GCML Google Cloud Machine Learning:
- Kakšne so omejitve pri delu z velikimi nabori podatkov v strojnem učenju?
- Ali lahko strojno učenje pomaga pri dialogu?
- Kaj je igrišče TensorFlow?
- Kaj pravzaprav pomeni večji nabor podatkov?
- Kateri so primeri hiperparametrov algoritma?
- Kaj je učenje ansambla?
- Kaj pa, če izbrani algoritem strojnega učenja ni primeren in kako se prepričati, da je izbran pravi?
- Ali model strojnega učenja potrebuje nadzor med usposabljanjem?
- Kateri so ključni parametri, ki se uporabljajo v algoritmih, ki temeljijo na nevronski mreži?
- Kaj je TensorBoard?
Oglejte si več vprašanj in odgovorov v EITC/AI/GCML Google Cloud Machine Learning