บทแนะนำการใช้งาน TensorFlow สำหรับผู้เริ่มต้น
TensorFlow เป็นหนึ่งในเฟรมเวิร์กยอดนิยมสำหรับการเรียนรู้เชิงลึกและการเรียนรู้ของเครื่อง พัฒนาโดยทีม Google Brain TensorFlow ถูกนำไปใช้อย่างกว้างขวางในโครงการวิจัยและแอปพลิเคชันทางอุตสาหกรรมมากมาย บทความนี้จะให้คำแนะนำทีละขั้นตอนเพื่อช่วยให้คุณซึ่งเป็นผู้เริ่มต้น สามารถเริ่มต้นใช้งาน TensorFlow ได้
1. ทำความเข้าใจพื้นฐานของ TensorFlow
ก่อนที่เราจะเริ่มติดตั้งและใช้งาน TensorFlow สิ่งสำคัญคือต้องเข้าใจว่า TensorFlow คืออะไรและแนวคิดพื้นฐานเบื้องหลังมันคืออะไร TensorFlow เป็นเฟรมเวิร์กโอเพนซอร์สสำหรับการคำนวณเชิงตัวเลขและการเรียนรู้ของเครื่อง มันใช้กราฟการไหลของข้อมูลเพื่อทำการคำนวณเชิงตัวเลข โดยที่โหนดในกราฟแทนการดำเนินการทางคณิตศาสตร์ และขอบแทนอาร์เรย์ข้อมูลหลายมิติ (เทนเซอร์) ที่เชื่อมต่อระหว่างกัน
2. การติดตั้ง TensorFlow
ขั้นตอนแรกในการใช้งาน TensorFlow คือการติดตั้ง ต่อไปนี้คือวิธีการติดตั้ง TensorFlow โดยใช้ pip ซึ่งเป็นตัวจัดการแพ็กเกจของ Python
1. การติดตั้ง Python:
โปรดตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Python ไว้ในระบบของคุณแล้ว TensorFlow สามารถใช้งานร่วมกับ Python เวอร์ชัน 3.6 ถึง 3.9 ณ เวลาที่เขียนบทความนี้ คุณสามารถดาวน์โหลด Python ได้จากเว็บไซต์อย่างเป็นทางการของ Python
2. สภาพแวดล้อมเสมือนจริง:
ขอแนะนำอย่างยิ่งให้สร้างสภาพแวดล้อมเสมือนเพื่อแยกโปรเจ็กต์ TensorFlow ของคุณออกจากสภาพแวดล้อมภายนอก:
“`ช
python -m เวนวี myenv
เรียกใช้คำสั่ง `source myenv/bin/activate` สำหรับผู้ใช้ Mac/Linux
myenv\Scripts\activate สำหรับผู้ใช้ Windows
““
3. การติดตั้ง TensorFlow:
ต่อไป ติดตั้ง TensorFlow โดยใช้ pip:
“`ช
pip ติดตั้ง tensorflow
““
3. โปรแกรม Hello World ด้วย TensorFlow
เมื่อติดตั้ง TensorFlow เสร็จแล้ว เรามาสร้างสคริปต์ Python อย่างง่ายเพื่อตรวจสอบการติดตั้งกัน สร้างไฟล์ Python ใหม่และตั้งชื่อว่า `hello_tensorflow.py`
“`หลาม
นำเข้าเทนเซอร์โฟลว์เป็น tf
สร้างค่าคงที่
hello = tf.constant('Hello, TensorFlow!')
เริ่มเซสชั่น
ด้วย tf.Session() เป็น sess:
ผลลัพธ์ = sess.run(hello)
พิมพ์(ผล)
““
ปรับโค้ดให้เข้ากับ TensorFlow เวอร์ชัน 2.x:
“`หลาม
นำเข้าเทนเซอร์โฟลว์เป็น tf
สร้างค่าคงที่
hello = tf.constant('Hello, TensorFlow!')
เรียกใช้งานโดยใช้การประมวลผลแบบทันที (เปิดใช้งานโดยค่าเริ่มต้น)
พิมพ์ (hello.numpy())
““
บันทึกไฟล์ จากนั้นเรียกใช้คำสั่ง:
“`ช
python hello_tensorflow.py
““
4. ทำความเข้าใจเกี่ยวกับเทนเซอร์และการดำเนินการพื้นฐาน
เทนเซอร์เป็นโครงสร้างข้อมูลหลักใน TensorFlow ซึ่งเป็นอาร์เรย์หลายมิติ ต่อไปนี้เป็นตัวอย่างบางส่วนที่จะช่วยให้คุณเข้าใจเทนเซอร์ได้ดียิ่งขึ้น:
“`หลาม
นำเข้าเทนเซอร์โฟลว์เป็น tf
การสร้างเทนเซอร์
สเกลาร์ = tf. ค่าคงที่(7) สเกลาร์
เวกเตอร์ = tf. ค่าคงที่([1, 2, 3]) เวกเตอร์
matrix = tf. constant([[1, 2], [3, 4]]) matrix
tensor3d = tf.constant([[[1, 2, 3], [4, 5, 6]], [[7, 8, 9], [10, 11, 12]]]) เทนเซอร์ 3 มิติ
print(f'ค่าคงที่: {ค่าคงที่}')
print(f'เวกเตอร์: {เวกเตอร์}')
print(f'เมทริกซ์: {เมทริกซ์}')
print(f'เทนเซอร์ 3 มิติ: {tensor3d}')
““
เพื่อดำเนินการพื้นฐานกับเทนเซอร์:
“`หลาม
a = tf.constant([[1, 2], [3, 4]])
b = tf.constant([[5, 6], [7, 8]])
การดำเนินการบวก
add = tf.add(a, b)
การดำเนินการคูณเมทริกซ์
mul = tf.matmul(a, b)
print(f'การบวก: {add}')
print(f'การคูณเมทริกซ์: {mul}')
““
5. การสร้างแบบจำลองเครือข่ายประสาทเทียมอย่างง่าย
ขั้นตอนต่อไปคือการสร้างแบบจำลองเครือข่ายประสาทเทียมอย่างง่าย เราจะสร้างแบบจำลองการจำแนกภาพโดยใช้ชุดข้อมูล MNIST ซึ่งเป็นฐานข้อมูลภาพตัวเลขเขียนด้วยมือ มาเริ่มกันเลย:
“`หลาม
นำเข้าเทนเซอร์โฟลว์เป็น tf
จาก tensorflow.keras นำเข้าชุดข้อมูล เลเยอร์ โมเดล
กำลังดาวน์โหลดชุดข้อมูล MNIST
(train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data()
การปรับภาพให้เป็นมาตรฐาน
train_images, test_images = train_images / 255.0, test_images / 255.0
การสร้างแบบจำลอง
model = models.Sequential([
layers.Flatten(input_shape=(28, 28)),
layer.Dense (128, การเปิดใช้งาน = 'relu'),
ชั้นหนาแน่น(10)
])
การรวบรวมแบบจำลอง
model.compile(ตัวเพิ่มประสิทธิภาพ='adam',
loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
เมตริก=['ความแม่นยำ'])
การฝึกฝนโมเดล
model.fit(train_images, train_labels, epochs=5)
การทดสอบโมเดล
test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f'ความแม่นยำในการทดสอบ: {test_acc}')
““
เพ็ญเจลาซาน:
– ชุดข้อมูล: เรานำเข้าและโหลดชุดข้อมูล MNIST
– การประมวลผลเบื้องต้น: ปรับค่าพิกเซลให้เป็นค่ามาตรฐานโดยหารค่าพิกเซลด้วย 255
– โมเดล: เรากำหนดโมเดลอย่างง่ายที่มีสองชั้น ชั้นแรกคือชั้น `Flatten` เพื่อแปลงภาพ 2 มิติให้เป็นอาร์เรย์ 1 มิติ ชั้นที่สองคือชั้น `Dense` ที่มีนิวรอน 128 ตัวและฟังก์ชันกระตุ้น `relu` และชั้นสุดท้ายคือชั้น `Dense` ที่มีนิวรอน 10 ตัวแทน 10 คลาส
– การคอมไพล์: เราคอมไพล์โมเดลโดยใช้ตัวเพิ่มประสิทธิภาพ `adam` และฟังก์ชันความสูญเสีย `SparseCategoricalCrossentropy`
– ฝึกฝน: ฝึกฝนโมเดลเป็นเวลา 5 รอบ (epochs)
– ประเมินผล: ประเมินประสิทธิภาพของโมเดลโดยใช้ข้อมูลทดสอบ
6. การบันทึกและการโหลดโมเดล
หลังจากฝึกฝนโมเดลแล้ว คุณอาจต้องการบันทึกโมเดลไว้ใช้ในภายหลังโดยไม่ต้องฝึกฝนใหม่ ต่อไปนี้คือวิธีการบันทึกและโหลดโมเดล:
“`หลาม
การบันทึกโมเดล
model.save('my_model.h5')
โมเดลการโหลด
new_model = tf.keras.models.load_model('my_model.h5')
ตรวจสอบโมเดลที่โหลดแล้ว
loss, acc = new_model.evaluate(test_images, test_labels)
print(f'ความแม่นยำของโมเดลที่โหลด: {acc}')
““
บทสรุป
คู่มือนี้ให้คำแนะนำโดยละเอียดเกี่ยวกับการเริ่มต้นใช้งาน TensorFlow สำหรับผู้เริ่มต้น เราได้กล่าวถึงการติดตั้ง การดำเนินการพื้นฐานกับเทนเซอร์ และการสร้างแบบจำลองเครือข่ายประสาทเทียมอย่างง่ายโดยใช้ชุดข้อมูล MNIST TensorFlow มีความสามารถขั้นสูงมากมายให้สำรวจ เช่นการประมวลผลข้อมูลขั้นสูง แบบจำลองที่ซับซ้อนมากขึ้น และการใช้งาน TensorFlow บนอุปกรณ์ต่างๆ เช่น TPU และ GPU เราหวังว่าบทช่วยสอนนี้จะช่วยให้คุณเริ่มต้นในโลก ของการเรียนรู้ของเครื่องด้วย TensorFlow ได้