ใน 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:
- อะไรคือข้อจำกัดในการทำงานกับชุดข้อมูลขนาดใหญ่ใน Machine Learning?
- แมชชีนเลิร์นนิงสามารถช่วยโต้ตอบเชิงโต้ตอบได้หรือไม่
- สนามเด็กเล่น TensorFlow คืออะไร
- ชุดข้อมูลที่ใหญ่กว่าหมายถึงอะไรจริงๆ
- ตัวอย่างไฮเปอร์พารามิเตอร์ของอัลกอริทึมมีอะไรบ้าง
- การเรียนรู้แบบ Ensamble คืออะไร?
- จะเกิดอะไรขึ้นหากอัลกอริธึมการเรียนรู้ของเครื่องที่เลือกไม่เหมาะสม และเราจะแน่ใจได้อย่างไรว่าจะเลือกอัลกอริธึมที่ถูกต้อง
- โมเดลแมชชีนเลิร์นนิงจำเป็นต้องมีการควบคุมดูแลระหว่างการฝึกหรือไม่
- พารามิเตอร์หลักที่ใช้ในอัลกอริธึมที่ใช้โครงข่ายประสาทเทียมคืออะไร
- TensorBoard คืออะไร?
ดูคำถามและคำตอบเพิ่มเติมใน EITC/AI/GCML Google Cloud Machine Learning