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
ตัวอย่างเทนเซอร์โฟลว์

สุดท้ายนี้ เราจะเรียกใช้เซสชัน 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 จำเป็นต้องมีสามขั้นตอน:

  1. กำหนดตัวแปร
X_1 = tf.placeholder(tf.float32, name = "X_1")
X_2 = tf.placeholder(tf.float32, name = "X_2")
  1. กำหนดการคำนวณ
multiply = tf.multiply(X_1, X_2, name = "multiply")
  1. ดำเนินการการดำเนินการ
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 ได้:

  1. สร้างข้อมูล
import numpy as np
x_input = np.random.sample((1,2))
print(x_input)
  1. สร้างตัวยึดตำแหน่ง
x = tf.placeholder(tf.float32, shape=[1,2], name = 'X')
  1. กำหนดวิธีชุดข้อมูล
dataset = tf.data.Dataset.from_tensor_slices(x)
  1. สร้างไปป์ไลน์
iterator = dataset.make_initializable_iterator() get_next = iterator.get_next()
  1. รันโปรแกรม
with tf.Session() as sess:  
sess.run(iterator.initializer, feed_dict={ x: x_input })  
print(sess.run(get_next))

สรุปโพสต์นี้ด้วย: