TensorFlow คืออะไร? มันทำงานอย่างไร? การแนะนำ & Archiเทคเจอร์
มาเริ่มบทช่วยสอนนี้ด้วยการแนะนำ TensorFlow:
TensorFlow คืออะไร?
TensorFlow เป็นแพลตฟอร์มโอเพ่นซอร์สแบบครบวงจรสำหรับการสร้างแอปพลิเคชันการเรียนรู้ของเครื่อง เป็นไลบรารีคณิตศาสตร์เชิงสัญลักษณ์ที่ใช้การไหลของข้อมูลและการเขียนโปรแกรมแบบแยกความแตกต่างได้เพื่อดำเนินการงานต่างๆ ที่เน้นที่การฝึกอบรมและการอนุมานของเครือข่ายประสาทเทียมเชิงลึก ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชันการเรียนรู้ของเครื่องโดยใช้เครื่องมือ ไลบรารี และทรัพยากรชุมชนต่างๆ
ปัจจุบัน ไลบรารีการเรียนรู้เชิงลึกที่มีชื่อเสียงที่สุดในโลกคือ GoogleTensorFlow ของ Google ผลิตภัณฑ์นี้ใช้เทคโนโลยีการเรียนรู้ของเครื่องในทุกผลิตภัณฑ์เพื่อปรับปรุงเครื่องมือค้นหา การแปล การใส่คำบรรยายภาพ หรือการแนะนำสินค้า
ตัวอย่างเทนเซอร์โฟลว์
เพื่อยกตัวอย่างที่เป็นรูปธรรม Google ผู้ใช้จะได้รับประสบการณ์การค้นหาที่รวดเร็วและแม่นยำยิ่งขึ้นด้วย AI หากผู้ใช้พิมพ์คำหลักในแถบการค้นหา Google ให้คำแนะนำเกี่ยวกับคำต่อไปที่อาจจะเหมาะสม

Google ต้องการใช้แมชชีนเลิร์นนิงเพื่อใช้ประโยชน์จากชุดข้อมูลขนาดใหญ่ของตน เพื่อมอบประสบการณ์ที่ดีที่สุดแก่ผู้ใช้ มีสามกลุ่มที่ใช้แมชชีนเลิร์นนิง:
- นักวิจัย
- นักวิทยาศาสตร์ข้อมูล
- โปรแกรมเมอร์
พวกเขาทั้งหมดสามารถใช้ชุดเครื่องมือเดียวกันเพื่อทำงานร่วมกันและปรับปรุงประสิทธิภาพได้
Google พวกเขาไม่ได้มีแค่ข้อมูลธรรมดาๆ แต่พวกเขามีคอมพิวเตอร์ที่ใหญ่ที่สุดในโลก ดังนั้น TensorFlow จึงถูกสร้างขึ้นมาเพื่อรองรับการขยายขนาด TensorFlow เป็นไลบรารีที่พัฒนาโดย Google ทีม Brain Team เร่งงานวิจัยด้านการเรียนรู้ของเครื่องจักรและโครงข่ายประสาทเทียมเชิงลึก
ถูกสร้างขึ้นเพื่อทำงานบน CPU หรือ GPU หลายตัวและแม้แต่ระบบปฏิบัติการมือถือ และยังมีตัวห่อหุ้มหลายตัวในหลายภาษา เช่น Python, C++ or Java.
ประวัติความเป็นมาของ TensorFlow
เมื่อสองสามปีก่อน การเรียนรู้เชิงลึกเริ่มมีประสิทธิภาพเหนือกว่าอัลกอริธึมการเรียนรู้ของเครื่องอื่นๆ เมื่อได้รับข้อมูลจำนวนมหาศาล Google พบว่าสามารถใช้โครงข่ายประสาทเทียมเชิงลึกเหล่านี้เพื่อปรับปรุงบริการของตนได้:
- Gmail
- ภาพถ่าย
- Google เครื่องมือค้นหา
พวกเขาสร้างกรอบการทำงานที่เรียกว่า เทนเซอร์โฟลว์ เพื่อให้นักวิจัยและนักพัฒนาทำงานร่วมกันในโมเดล AI เมื่อพัฒนาและขยายขนาดแล้ว จะอนุญาตให้ผู้คนจำนวนมากใช้งานได้
ซอฟต์แวร์นี้เปิดตัวสู่สาธารณะครั้งแรกในช่วงปลายปี 2015 ในขณะที่เวอร์ชันเสถียรแรกปรากฏในปี 2017 เป็นซอฟต์แวร์โอเพนซอร์สภายใต้ใบอนุญาต Apache Open Source คุณสามารถใช้งาน แก้ไข และแจกจ่ายเวอร์ชันที่แก้ไขแล้วได้โดยมีค่าธรรมเนียมโดยไม่ต้องจ่ายอะไรเพิ่มเติมให้กับ Apache Google.
ในบทช่วยสอนการเรียนรู้เชิงลึกเกี่ยวกับ TensorFlow ต่อไปนี้ เราจะเรียนรู้เกี่ยวกับสถาปัตยกรรม TensorFlow และการทำงานของ TensorFlow
TensorFlow ทำงานอย่างไร
TensorFlow ช่วยให้คุณสร้างกราฟและโครงสร้างการไหลของข้อมูลเพื่อกำหนดว่าข้อมูลจะเคลื่อนผ่านกราฟอย่างไรโดยรับอินพุตเป็นอาร์เรย์หลายมิติที่เรียกว่า Tensor ช่วยให้คุณสร้างผังงานของการดำเนินการที่สามารถดำเนินการกับอินพุตเหล่านี้ได้ โดยอินพุตจะอยู่ที่ปลายด้านหนึ่งและออกมาที่ปลายอีกด้านหนึ่งเป็นเอาต์พุต
TensorFlow Archiเทคเจอร์
สถาปัตยกรรม Tensorflow ทำงานเป็นสามส่วน:
- ประมวลผลข้อมูลล่วงหน้า
- สร้างโมเดล
- ฝึกอบรมและประเมินแบบจำลอง
มันถูกเรียกว่า Tensorflow เนื่องจากรับอินพุตเป็นอาร์เรย์หลายมิติหรือที่เรียกว่า เทนเซอร์- คุณสามารถสร้างประเภท ผัง ของการดำเนินการ (เรียกว่ากราฟ) ที่คุณต้องการดำเนินการกับอินพุตนั้น อินพุตจะเข้าไปที่ปลายด้านหนึ่ง จากนั้นจะไหลผ่านระบบการดำเนินการหลาย ๆ อย่างและออกมาเป็นเอาต์พุตที่ปลายอีกด้านหนึ่ง
นี่คือสาเหตุที่เรียกว่า TensorFlow เพราะว่าเทนเซอร์จะไหลผ่านรายการการดำเนินการต่างๆ จากนั้นจึงออกสู่ด้านอื่น
Tensorflow สามารถทำงานได้ที่ไหน?
ฮาร์ดแวร์ TensorFlow และ ข้อกำหนดของซอฟต์แวร์ สามารถจำแนกได้เป็น
ขั้นตอนการพัฒนา: นี่คือตอนที่คุณฝึกฝนโหมด โดยปกติการฝึกอบรมจะทำบนเดสก์ท็อปหรือแล็ปท็อปของคุณ
Run Phase หรือ Inference Phase: เมื่อการฝึกอบรมเสร็จสิ้น Tensorflow สามารถทำงานได้บนแพลตฟอร์มต่างๆ มากมาย คุณสามารถรันมันได้
- เดสก์ท็อปทำงานอยู่ Windows, macOS หรือลีนุกซ์
- คลาวด์เป็นบริการบนเว็บ
- อุปกรณ์เคลื่อนที่เช่น iOS และ Android
คุณสามารถฝึกใช้งานบนเครื่องหลายเครื่อง จากนั้นจึงรันบนเครื่องอื่นได้ เมื่อคุณมีโมเดลที่ได้รับการฝึกแล้ว
โมเดลนี้สามารถฝึกและใช้งานกับ GPU และ CPU ได้ โดย GPU ถูกออกแบบมาเพื่อใช้กับวิดีโอเกมโดยเฉพาะ ในช่วงปลายปี 2010 นักวิจัยจากมหาวิทยาลัยสแตนฟอร์ดพบว่า GPU ยังทำงานได้ดีมากในการดำเนินการเมทริกซ์และพีชคณิต ทำให้สามารถทำการคำนวณประเภทนี้ได้รวดเร็วมาก การเรียนรู้เชิงลึกอาศัยการคูณเมทริกซ์เป็นจำนวนมาก TensorFlow รวดเร็วมากในการคำนวณการคูณเมทริกซ์เนื่องจากเขียนด้วยภาษา C++- แม้ว่าจะมีการดำเนินการใน C++, TensorFlow สามารถเข้าถึงและควบคุมโดยภาษาอื่นเป็นหลัก Python.
สุดท้าย คุณลักษณะที่สำคัญของ TensorFlow ก็คือ TensorBoard ที่ เทนเซอร์บอร์ด ช่วยให้สามารถตรวจสอบสิ่งที่ TensorFlow กำลังทำอยู่ได้ทั้งแบบกราฟิกและแบบเห็นภาพ
ส่วนประกอบเทนเซอร์โฟลว์
เมตริกซ์
ชื่อของ Tensorflow ได้มาจากเฟรมเวิร์กหลักโดยตรง: เมตริกซ์- ใน Tensorflow การคำนวณทั้งหมดเกี่ยวข้องกับเทนเซอร์ เทนเซอร์คือก เวกเตอร์ or เมทริกซ์ ของ n มิติที่แสดงถึงข้อมูลทุกประเภท ค่าทั้งหมดในเทนเซอร์มีชนิดข้อมูลที่เหมือนกันกับค่าที่ทราบ (หรือทราบบางส่วน) รูปร่าง- รูปร่างของข้อมูลคือมิติของเมทริกซ์หรืออาเรย์
เทนเซอร์สามารถเริ่มต้นได้จากข้อมูลอินพุตหรือผลลัพธ์ของการคำนวณ ใน TensorFlow การดำเนินการทั้งหมดจะดำเนินการภายใน กราฟกราฟคือชุดการคำนวณที่เกิดขึ้นต่อเนื่อง การดำเนินการแต่ละอย่างเรียกว่า โหนดปฏิบัติการ และเชื่อมต่อถึงกัน
กราฟจะแสดงโครงร่างของการดำเนินการและการเชื่อมต่อระหว่างโหนด อย่างไรก็ตาม กราฟจะไม่แสดงค่า ขอบของโหนดคือเทนเซอร์ ซึ่งเป็นวิธีในการเติมข้อมูลลงในการดำเนินการ
กราฟ
TensorFlow ใช้เฟรมเวิร์กกราฟ กราฟจะรวบรวมและอธิบายการคำนวณแบบอนุกรมทั้งหมดที่ทำระหว่างการฝึกอบรม กราฟมีข้อดีหลายประการ:
- มันถูกทำมาเพื่อใช้งานบน CPU หรือ GPU หลายตัวและแม้แต่ระบบปฏิบัติการมือถือ
- ความสามารถในการพกพาของกราฟช่วยให้สามารถบันทึกการคำนวณไว้เพื่อใช้ในทันทีหรือในภายหลังได้ สามารถบันทึกกราฟไว้เพื่อดำเนินการในอนาคตได้
- การคำนวณทั้งหมดในกราฟทำได้โดยการเชื่อมต่อเทนเซอร์เข้าด้วยกัน
- เทนเซอร์ประกอบด้วยโหนดและเอจ โหนดทำหน้าที่ดำเนินการทางคณิตศาสตร์และสร้างเอาต์พุตของจุดสิ้นสุด เอจจะอธิบายความสัมพันธ์ระหว่างอินพุต/เอาต์พุตระหว่างโหนด
เหตุใด TensorFlow จึงเป็นที่นิยม
TensorFlow เป็นไลบรารีที่ดีที่สุดเนื่องจากสร้างขึ้นมาเพื่อให้ทุกคนเข้าถึงได้ ไลบรารี TensorFlow รวม API ต่างๆ เพื่อสร้างสถาปัตยกรรมการเรียนรู้เชิงลึก เช่น CNN หรือ RNN TensorFlow ใช้การคำนวณแบบกราฟ ช่วยให้นักพัฒนามองเห็นการสร้างเครือข่ายประสาทเทียมด้วย Tensorboad เครื่องมือนี้มีประโยชน์ในการดีบักโปรแกรม ในที่สุด TensorFlow ถูกสร้างขึ้นมาเพื่อใช้งานในขอบเขตขนาดใหญ่ โดยทำงานบน CPU และ GPU
เทนเซอร์โฟลว์ที่tracts เป็นเฟรมเวิร์กการเรียนรู้เชิงลึกที่ได้รับความนิยมมากที่สุดบน GitHub เมื่อเทียบกับเฟรมเวิร์กอื่นๆ
TensorFlow Algorithms
ด้านล่างนี้เป็นอัลกอริทึมที่ TensorFlow รองรับ:
ปัจจุบัน TensorFlow 1.10 มี API ในตัวสำหรับ:
- การถดถอยเชิงเส้น: tf.estimator.LinearRegressor
- การจำแนกประเภท:tf.estimator.LinearClassifier
- การจำแนกการเรียนรู้เชิงลึก: tf.estimator.DNNClassifier
- การเรียนรู้เชิงลึกเช็ดและลึก: tf.estimator.DNNLinearCombinedClassifier
- การถดถอยของแผนผังบูสเตอร์: tf.estimator.BoostedTreesRegressor
- การจำแนกต้นไม้แบบบูสต์: tf.estimator.BoostedTreesClassifier
การคำนวณทำงานอย่างไรใน TensorFlow
import numpy as np import tensorflow as tf
ในโค้ดสองบรรทัดแรก เราได้นำเข้า tensorflow เป็น tf กับ Pythonเป็นเรื่องปกติที่จะใช้ชื่อย่อสำหรับห้องสมุด ข้อดีคือหลีกเลี่ยงการพิมพ์ชื่อเต็มของห้องสมุดเมื่อเราจำเป็นต้องใช้ ตัวอย่างเช่น เราสามารถนำเข้า tensorflow เป็น tf และเรียก tf เมื่อเราต้องการใช้ฟังก์ชัน tensorflow
มาฝึกฝนเวิร์กโฟลว์เบื้องต้นของ TensorFlow ด้วยตัวอย่าง TensorFlow ง่ายๆ กัน มาสร้างกราฟเชิงคำนวณที่คูณตัวเลขสองตัวเข้าด้วยกัน
ในตัวอย่าง เราจะคูณ X_1 และ X_2 เข้าด้วยกัน Tensorflow จะสร้างโหนดเพื่อเชื่อมต่อการดำเนินการ ในตัวอย่างของเรา เรียกว่าการคูณ เมื่อกำหนดกราฟแล้ว เอ็นจิ้นการคำนวณของ Tensorflow จะคูณ X_1 และ X_2 เข้าด้วยกัน

สุดท้ายนี้ เราจะเรียกใช้เซสชัน TensorFlow ที่จะเรียกใช้กราฟการคำนวณที่มีค่า X_1 และ X_2 และพิมพ์ผลลัพธ์ของการคูณ
มากำหนดโหนดอินพุต X_1 และ X_2 กัน เมื่อเราสร้างโหนดใน Tensorflow เราต้องเลือกประเภทของโหนดที่จะสร้าง โหนด X1 และ X2 จะเป็นโหนดตัวยึด ตัวยึดตำแหน่งจะกำหนดค่าใหม่ทุกครั้งที่เราทำการคำนวณ เราจะสร้างพวกมันเป็นโหนดตัวยึดจุด TF
ขั้นตอนที่ 1: กำหนดตัวแปร
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2")
เมื่อเราสร้างโหนดตัวแทน เราจะต้องส่งประเภทข้อมูลที่จะบวกตัวเลขเข้าไปที่นี่เพื่อให้เราสามารถใช้ประเภทข้อมูลจุดลอยตัวได้ ลองใช้ tf.float32 กัน เราต้องตั้งชื่อโหนดนี้ด้วย ชื่อนี้จะปรากฏขึ้นเมื่อเราดูการแสดงภาพกราฟิกของโมเดลของเรา มาตั้งชื่อโหนดนี้ว่า X_1 โดยส่งพารามิเตอร์ชื่อ name พร้อมค่า X_1 แล้วมากำหนด X_2 ด้วยวิธีเดียวกัน X_2
ขั้นตอนที่ 2: กำหนดการคำนวณ
multiply = tf.multiply(X_1, X_2, name = "multiply")
ตอนนี้เราสามารถกำหนดโหนดที่จะดำเนินการคูณได้แล้ว ใน Tensorflow เราสามารถทำได้โดยการสร้างโหนด tf.multiply
เราจะส่งผ่านโหนด X_1 และ X_2 ไปยังโหนดการคูณ โดยจะสั่งให้เทนเซอร์โฟลว์เชื่อมโยงโหนดเหล่านั้นในกราฟการคำนวณ ดังนั้นเราจึงขอให้ดึงค่าจาก x และ y แล้วคูณผลลัพธ์ เรามาตั้งชื่อการคูณให้กับโหนดการคูณด้วย มันคือคำจำกัดความทั้งหมดสำหรับกราฟคำนวณอย่างง่ายของเรา
ขั้นตอนที่ 3: ดำเนินการ
ในการดำเนินการกับกราฟ เราต้องสร้างเซสชัน ใน Tensorflow ทำได้โดยใช้ tf.Session() ตอนนี้เรามีเซสชันแล้ว เราสามารถขอให้เซสชันดำเนินการกับกราฟการคำนวณของเราได้โดยเรียกใช้ session หากต้องการเรียกใช้การคำนวณ เราต้องใช้ run
เมื่อดำเนินการบวก ระบบจะตรวจพบว่าจำเป็นต้องดึงค่าของโหนด X_1 และ X_2 ดังนั้น เราจึงต้องป้อนค่าของ X_1 และ X_2 ด้วย เราทำได้โดยการป้อนพารามิเตอร์ที่เรียกว่า feed_dict เราส่งค่า 1,2,3, 1, 4,5,6 สำหรับ X_2 และ XNUMX, XNUMX, XNUMX สำหรับ X_XNUMX
เราพิมพ์ผลลัพธ์ด้วยการพิมพ์(ผลลัพธ์) เราควรเห็น 4, 10 และ 18 สำหรับ 1×4, 2×5 และ 3×6
X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")
multiply = tf.multiply(X_1, X_2, name = "multiply")
with tf.Session() as session:
result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
print(result)
[ 4. 10. 18.]
ตัวเลือกในการโหลดข้อมูลลงใน TensorFlow
ขั้นตอนแรกก่อนการฝึกก เครื่องอัลกอริทึมการเรียนรู้ คือการโหลดข้อมูล การโหลดข้อมูลมีสองวิธีทั่วไป:
1. โหลดข้อมูลลงในหน่วยความจำ: เป็นวิธีที่ง่ายที่สุด คุณโหลดข้อมูลทั้งหมดของคุณลงในหน่วยความจำเป็นอาร์เรย์เดียว คุณสามารถเขียนก Python รหัส. บรรทัดโค้ดนี้ไม่เกี่ยวข้องกับ Tensorflow
2. ไปป์ไลน์ข้อมูล Tensorflow:Tensorflow มี API ในตัวที่ช่วยให้คุณโหลดข้อมูล ดำเนินการ และป้อนอัลกอริทึมการเรียนรู้ของเครื่องได้อย่างง่ายดาย วิธีนี้ใช้ได้ผลดีมาก โดยเฉพาะอย่างยิ่งเมื่อคุณมีชุดข้อมูลขนาดใหญ่ ตัวอย่างเช่น ทราบกันดีว่าระเบียนภาพมีขนาดใหญ่มากและไม่พอดีกับหน่วยความจำ ไพลน์ไลน์ข้อมูลจะจัดการหน่วยความจำด้วยตัวเอง
จะใช้โซลูชั่นอะไร?
โหลดข้อมูลในหน่วยความจำ
หากชุดข้อมูลของคุณไม่ใหญ่เกินไป เช่น น้อยกว่า 10 กิกะไบต์ คุณสามารถใช้วิธีแรกได้ ข้อมูลสามารถใส่ลงในหน่วยความจำได้ คุณสามารถใช้ไลบรารีชื่อดังชื่อ Pandas เพื่อนำเข้าไฟล์ CSV คุณจะได้เรียนรู้เพิ่มเติมเกี่ยวกับแพนด้าในบทช่วยสอนถัดไป
โหลดข้อมูลด้วยไปป์ไลน์ Tensorflow
วิธีที่สองทำงานได้ดีที่สุดถ้าคุณมีชุดข้อมูลขนาดใหญ่ ตัวอย่างเช่น หากคุณมีชุดข้อมูล 50 กิกะไบต์ และคอมพิวเตอร์ของคุณมีหน่วยความจำเพียง 16 กิกะไบต์ เครื่องก็จะเสียหาย
ในสถานการณ์นี้ คุณต้องสร้างไปป์ไลน์ Tensorflow ไปป์ไลน์จะโหลดข้อมูลเป็นชุดหรือชิ้นเล็กๆ แต่ละชุดจะถูกผลักเข้าสู่ท่อและเตรียมพร้อมสำหรับการฝึกอบรม การสร้างไปป์ไลน์เป็นโซลูชันที่ยอดเยี่ยมเพราะช่วยให้คุณใช้การประมวลผลแบบขนานได้ หมายความว่า Tensorflow จะฝึกโมเดลกับ CPU หลายตัว ส่งเสริมการคำนวณและอนุญาตให้ฝึกอบรมโครงข่ายประสาทเทียมอันทรงพลัง
คุณจะเห็นในบทช่วยสอนถัดไปเกี่ยวกับวิธีสร้างไปป์ไลน์ที่สำคัญเพื่อป้อนเครือข่ายประสาทเทียมของคุณ
โดยสรุป หากคุณมีชุดข้อมูลขนาดเล็ก คุณสามารถโหลดข้อมูลในหน่วยความจำด้วยไลบรารี Pandas ได้
หากคุณมีชุดข้อมูลขนาดใหญ่และต้องการใช้ CPU หลายตัว คุณจะทำงานกับไปป์ไลน์ Tensorflow ได้อย่างสะดวกสบายมากขึ้น
วิธีสร้างไปป์ไลน์ TensorFlow
ขั้นตอนในการสร้างไปป์ไลน์ TensorFlow มีดังนี้
ในตัวอย่างก่อนหน้านี้ เราได้เพิ่มค่าสามค่าสำหรับ X_1 และ X_2 ด้วยตนเอง ตอนนี้เราจะดูวิธีการโหลดข้อมูลไปยัง Tensorflow:
ขั้นตอนที่ 1) สร้างข้อมูล
ก่อนอื่น ลองใช้ไลบรารี numpy เพื่อสร้างค่าสุ่มสองค่า
import numpy as np x_input = np.random.sample((1,2)) print(x_input)
[[0.8835775 0.23766977]]
ขั้นตอนที่ 2) สร้างตัวยึดตำแหน่ง
เช่นเดียวกับในตัวอย่างก่อนหน้านี้ เราสร้างตัวยึดตำแหน่งด้วยชื่อ X เราจำเป็นต้องระบุรูปร่างของเมตริกซ์อย่างชัดเจน ในกรณีที่เราจะโหลดอาร์เรย์ที่มีค่าเพียงสองค่าเท่านั้น เราสามารถเขียนรูปร่างเป็น shape=[1,2]
# using a placeholder x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
ขั้นตอนที่ 3) กำหนดวิธีชุดข้อมูล
ต่อไป เราต้องกำหนดชุดข้อมูลที่เราสามารถเติมค่าของตัวยึด x ได้ เราจำเป็นต้องใช้วิธี tf.data.Dataset.from_tensor_slices
dataset = tf.data.Dataset.from_tensor_slices(x)
ขั้นตอนที่ 4) สร้างไปป์ไลน์
ในขั้นตอนที่สี่ เราจำเป็นต้องเริ่มต้นไปป์ไลน์ที่ข้อมูลจะไหล เราจำเป็นต้องสร้างตัววนซ้ำด้วย make_initializable_iterator เราตั้งชื่อมันว่าตัววนซ้ำ จากนั้นเราจำเป็นต้องเรียกตัววนซ้ำนี้เพื่อป้อนข้อมูลชุดถัดไป get_next เราตั้งชื่อขั้นตอนนี้ว่า get_next โปรดทราบว่าในตัวอย่างของเรา มีข้อมูลเพียงชุดเดียวที่มีค่าเพียงสองค่าเท่านั้น
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
ขั้นตอนที่ 5) ดำเนินการ
ขั้นตอนสุดท้ายจะคล้ายกับตัวอย่างก่อนหน้า เราเริ่มเซสชันและเรียกใช้ตัววนซ้ำการดำเนินการ เราป้อนค่าที่สร้างโดย feed_dict ลงใน มึน- ค่าทั้งสองนี้จะเติมตัวยึดตำแหน่ง x จากนั้นเรารัน get_next เพื่อพิมพ์ผลลัพธ์
with tf.Session() as sess:
# feed the placeholder with data
sess.run(iterator.initializer, feed_dict={ x: x_input })
print(sess.run(get_next)) # output [ 0.52374458 0.71968478]
[0.8835775 0.23766978]
สรุป
- TensorFlow ความหมาย: TensorFlow เป็นห้องสมุดการเรียนรู้เชิงลึกที่มีชื่อเสียงที่สุดในช่วงไม่กี่ปีที่ผ่านมา ผู้ปฏิบัติงานที่ใช้ TensorFlow สามารถสร้างโครงสร้างการเรียนรู้เชิงลึกใดๆ ได้ เช่น CNN, RNN หรือโครงข่ายประสาทเทียมแบบธรรมดา
- TensorFlow ส่วนใหญ่ถูกใช้งานโดยนักวิชาการ สตาร์ทอัพ และบริษัทขนาดใหญ่ Google ใช้ TensorFlow ในเกือบทุกกรณี Google ผลิตภัณฑ์ที่ใช้ในชีวิตประจำวัน ได้แก่ Gmailภาพถ่ายและ Google เครื่องมือค้นหา.
- Google ทีม Brain พัฒนา TensorFlow ขึ้นมาเพื่อเชื่อมช่องว่างระหว่างนักวิจัยและนักพัฒนาผลิตภัณฑ์ ในปี 2015 พวกเขาเปิดตัว TensorFlow สู่สาธารณะ และได้รับความนิยมอย่างรวดเร็ว ปัจจุบัน TensorFlow เป็นไลบรารีสำหรับการเรียนรู้เชิงลึกที่มีคลังเก็บโค้ดมากที่สุดบน GitHub
- ผู้ปฏิบัติงานใช้ Tensorflow เนื่องจากง่ายต่อการปรับใช้ในวงกว้าง มันถูกสร้างขึ้นเพื่อทำงานในคลาวด์หรือบนอุปกรณ์พกพาเช่น iO และ Android.
Tensorflow ทำงานในเซสชัน แต่ละเซสชันถูกกำหนดโดยกราฟที่มีการคำนวณที่แตกต่างกัน ตัวอย่างง่ายๆ คือการคูณตัวเลข ใน Tensorflow จำเป็นต้องมีสามขั้นตอน:
- กำหนดตัวแปร
X_1 = tf.placeholder(tf.float32, name = "X_1") X_2 = tf.placeholder(tf.float32, name = "X_2")
- กำหนดการคำนวณ
multiply = tf.multiply(X_1, X_2, name = "multiply")
- ดำเนินการการดำเนินการ
with tf.Session() as session:
result = session.run(multiply, feed_dict={X_1:[1,2,3], X_2:[4,5,6]})
print(result)
แนวทางปฏิบัติทั่วไปอย่างหนึ่งใน Tensorflow คือการสร้างไปป์ไลน์เพื่อโหลดข้อมูล หากคุณทำตามห้าขั้นตอนเหล่านี้ คุณจะสามารถโหลดข้อมูลไปยัง TensorFlow ได้:
- สร้างข้อมูล
import numpy as np x_input = np.random.sample((1,2)) print(x_input)
- สร้างตัวยึดตำแหน่ง
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
- กำหนดวิธีชุดข้อมูล
dataset = tf.data.Dataset.from_tensor_slices(x)
- สร้างไปป์ไลน์
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
- รันโปรแกรม
with tf.Session() as sess:
sess.run(iterator.initializer, feed_dict={ x: x_input })
print(sess.run(get_next))
