У TensorFlow 2.0 канцэпцыя сеансаў была выдалена на карысць ахвотнага выканання, паколькі ахвотнае выкананне дазваляе неадкладную ацэнку і прасцейшую адладку аперацый, робячы працэс больш інтуітыўна зразумелым і Pythonic. Гэта змяненне азначае значны зрух у тым, як TensorFlow працуе і ўзаемадзейнічае з карыстальнікамі.
У TensorFlow 1.x сеансы выкарыстоўваліся для пабудовы вылічальнага графіка, а затым для яго выканання ў асяроддзі сеанса. Гэты падыход быў магутным, але часам грувасткім, асабліва для пачаткоўцаў і карыстальнікаў з больш імператыўным вопытам праграмавання. Пры хуткім выкананні аперацыі выконваюцца неадкладна, без неабходнасці стварэння сесіі ў відавочным выглядзе.
Выдаленне сеансаў спрашчае працоўны працэс TensorFlow і набліжае яго да стандартнага праграмавання на Python. Цяпер карыстальнікі могуць пісаць і выконваць код TensorFlow больш натуральным чынам, падобна таму, як яны пісалі б звычайны код Python. Гэта змяненне паляпшае карыстацкі досвед і зніжае крывую навучання для новых карыстальнікаў.
Калі вы сутыкнуліся з памылкай AttributeError пры спробе запусціць нейкі код практыкавання, які абапіраецца на сеансы ў TensorFlow 2.0, гэта звязана з тым, што сеансы больш не падтрымліваюцца. Каб вырашыць гэтую праблему, вам трэба рэфактарынгіваць код, каб выкарыстоўваць хуткае выкананне. Робячы гэта, вы можаце пераканацца, што ваш код сумяшчальны з TensorFlow 2.0, і скарыстацца перавагамі, якія прапануе нецярплівае выкананне.
Вось прыклад, каб праілюстраваць розніцу паміж выкарыстаннем сеансаў у TensorFlow 1.x і нецярплівым выкананнем у TensorFlow 2.0:
TensorFlow 1.x (з выкарыстаннем сеансаў):
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 (з выкарыстаннем нецярплівага выканання):
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)
Абнаўляючы код практыкаванняў, каб павысіць хуткасць выканання, можна забяспечыць сумяшчальнасць з TensorFlow 2.0 і атрымаць выгаду з яго аптымізаванага працоўнага працэсу.
Выдаленне сеансаў у TensorFlow 2.0 на карысць актыўнага выканання ўяўляе сабой змяненне, якое павышае зручнасць выкарыстання і прастату структуры. Прыняўшы ахвотнае выкананне, карыстальнікі могуць пісаць код TensorFlow больш натуральна і эфектыўна, што прывядзе да больш бесперашкоднага вопыту распрацоўкі машыннага навучання.
Іншыя апошнія пытанні і адказы адносна EITC/AI/GCML Google Cloud Machine Learning:
- Што такое тэкст у маўленне (TTS) і як ён працуе з AI?
- Якія абмежаванні ёсць у працы з вялікімі наборамі даных у машынным навучанні?
- Ці можа машыннае навучанне аказаць некаторую дапамогу ў дыялогу?
- Што такое гульнявая пляцоўка TensorFlow?
- Што насамрэч азначае большы набор даных?
- Якія прыклады гіперпараметраў алгарытму?
- Што такое ансамблевае навучанне?
- Што рабіць, калі абраны алгарытм машыннага навучання не падыходзіць, і як пераканацца, што выбраны правільны?
- Ці патрэбна мадэль машыннага навучання пад наглядам падчас навучання?
- Якія ключавыя параметры выкарыстоўваюцца ў алгарытмах нейронных сетак?
Больш пытанняў і адказаў глядзіце ў EITC/AI/GCML Google Cloud Machine Learning