W TensorFlow 2.0 koncepcja sesji została usunięta na rzecz szybkiego wykonywania, ponieważ szybkie wykonanie pozwala na natychmiastową ocenę i łatwiejsze debugowanie operacji, dzięki czemu proces jest bardziej intuicyjny i Pythoniczny. Ta zmiana oznacza znaczącą zmianę w sposobie działania TensorFlow i interakcji z użytkownikami.
W TensorFlow 1.x sesje posłużyły do zbudowania wykresu obliczeniowego, a następnie wykonania go w środowisku sesyjnym. To podejście było skuteczne, ale czasami kłopotliwe, szczególnie dla początkujących i użytkowników mających większe doświadczenie w programowaniu. W przypadku szybkiego wykonywania operacje są wykonywane natychmiast, bez konieczności jawnego tworzenia sesji.
Usunięcie sesji upraszcza przepływ pracy TensorFlow i lepiej dopasowuje go do standardowego programowania w języku Python. Teraz użytkownicy mogą pisać i wykonywać kod TensorFlow w bardziej naturalny sposób, podobnie jak pisaliby zwykły kod w Pythonie. Ta zmiana poprawia komfort użytkowania i skraca czas uczenia się nowych użytkowników.
Jeśli napotkałeś błąd AttributeError podczas próby uruchomienia kodu ćwiczeń opierającego się na sesjach w TensorFlow 2.0, jest to spowodowane faktem, że sesje nie są już obsługiwane. Aby rozwiązać ten problem, należy dokonać refaktoryzacji kodu w celu wykorzystania szybkiego wykonywania. W ten sposób możesz upewnić się, że Twój kod jest kompatybilny z TensorFlow 2.0 i skorzystać z korzyści, jakie oferuje chętne wykonanie.
Oto przykład ilustrujący różnicę między używaniem sesji w TensorFlow 1.x a szybkim wykonywaniem w TensorFlow 2.0:
TensorFlow 1.x (przy użyciu sesji):
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 (przy użyciu szybkiego wykonania):
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)
Aktualizując kod ćwiczeń, aby zwiększyć chęć wykonywania, można zapewnić zgodność z TensorFlow 2.0 i skorzystać z jego usprawnionego przepływu pracy.
Usunięcie sesji w TensorFlow 2.0 na rzecz szybkiego wykonywania stanowi zmianę, która zwiększa użyteczność i prostotę frameworka. Dzięki aktywnemu wykonywaniu użytkownicy mogą pisać kod TensorFlow w bardziej naturalny i wydajny sposób, co prowadzi do płynniejszego programowania uczenia maszynowego.
Inne niedawne pytania i odpowiedzi dotyczące EITC/AI/GCML Uczenie Maszynowe Google Cloud:
- Co to jest tekst na mowę (TTS) i jak współpracuje z AI?
- Jakie są ograniczenia w pracy z dużymi zbiorami danych w uczeniu maszynowym?
- Czy uczenie maszynowe może pomóc w dialogu?
- Czym jest plac zabaw TensorFlow?
- Co właściwie oznacza większy zbiór danych?
- Jakie są przykłady hiperparametrów algorytmu?
- Co to jest uczenie się zespołowe?
- Co się stanie, jeśli wybrany algorytm uczenia maszynowego nie będzie odpowiedni i jak można się upewnić, że zostanie on wybrany właściwy?
- Czy model uczenia maszynowego wymaga nadzoru podczas szkolenia?
- Jakie są kluczowe parametry wykorzystywane w algorytmach opartych na sieciach neuronowych?
Zobacz więcej pytań i odpowiedzi w EITC/AI/GCML Google Cloud Machine Learning