Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีใช้ TensorFlow บันทึกและโหลดน้ำหนักโมเดลสำหรับชุดข้อมูล MNIST


บทนำ

TensorFlow เป็นเฟรมเวิร์กการเรียนรู้ของเครื่องจาก Google โค้ดเปิด ใช้กับ Python สำหรับอัลกอริทึม Deep Learning และอื่นๆ ใช้ในงานวิจัยและผลิตจริง มีเทคนิคเพิ่มประสิทธิภาพคำนวณคณิตศาสตร์ซับซ้อน เนื่องจากใช้ NumPy และอาร์เรย์หลายมิติ (เทนเซอร์)

การติดตั้ง

pip install tensorflow

ปัญหา Overfitting และ Regularization

เมื่อฝึกนานเกินไป โมเดลอาจ overfit ไม่ generalize ได้ดีกับข้อมูลทดสอบ จึงต้องสมดุลจำนวนขั้นตอนการฝึก ใช้ข้อมูลทุกกรณีเพื่อฝึกให้มีประสิทธิภาพ มิฉะนั้นต้องใช้ regularization

Keras API

Keras เป็น API ระดับสูงบน TensorFlow ช่วยทดลองได้เร็ว มี abstraction และ building blocks ที่จำเป็น สามารถนำเข้าผ่าน from tensorflow import keras

ตัวอย่าง: เตรียมข้อมูล MNIST สำหรับการบันทึก/โหลดน้ำหนัก

!pip install -q pyyaml h5py
import os
import tensorflow as tf
from tensorflow import keras

print("TensorFlow version:", tf.__version__)

# โหลดข้อมูล MNIST
(train_images, train_labels), (test_images, test_labels) = tf.keras.datasets.mnist.load_data()

print("แบ่งข้อมูลฝึกและทดสอบ")
train_labels = train_labels[:1000]
test_labels = test_labels[:1000]

print("ปรับรูปร่างข้อมูล")
train_images = train_images[:1000].reshape(-1, 28 * 28) / 255.0
test_images = test_images[:1000].reshape(-1, 28 * 28) / 255.0

ที่มา: TensorFlow Tutorials

ผลลัพธ์

วิธีใช้ TensorFlow บันทึกและโหลดน้ำหนักโมเดลสำหรับชุดข้อมูล MNIST

คำอธิบาย

  • นำเข้าแพ็กเกจที่จำเป็นและตั้งชื่อย่อ
  • ใช้ 1,000 ตัวอย่างแรกเพื่อความเร็วในการรัน
  • ปรับรูปภาพ 28x28 เป็นเวกเตอร์ 784 มิติ และ normalize ค่า 0-1