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

วิธีใช้ Keras สร้าง callback และบันทึก weights ด้วย Python


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

แพ็กเกจ 'tensorflow' สามารถติดตั้งบน Windows ได้ด้วยคำสั่งด้านล่าง:

pip install tensorflow

Tensor คือโครงสร้างข้อมูลที่ใช้ใน TensorFlow ช่วยเชื่อมต่อขอบในแผนภาพกระแสข้อมูล (Data flow graph) Tensor คืออาร์เรย์หลายมิติหรือรายการ

Keras ถูกพัฒนาขึ้นเป็นส่วนหนึ่งของโครงการวิจัย ONEIROS (Open ended Neuro-Electronic Intelligent Robot Operating System) Keras เป็น API การเรียนรู้เชิงลึก ที่เขียนด้วย Python เป็น API ระดับสูงที่มีอินเทอร์เฟซที่มีประสิทธิภาพช่วยแก้ปัญหาการเรียนรู้ของเครื่อง Keras รันบน TensorFlow framework ถูกสร้างขึ้นเพื่อช่วยทดลองได้อย่างรวดเร็ว ให้ abstraction และ building blocks ที่จำเป็นในการพัฒนาและห่อหุ้มโซลูชันการเรียนรู้ของเครื่อง

Keras อยู่ภายในแพ็กเกจ TensorFlow แล้ว สามารถเข้าถึงได้ด้วยโค้ดด้านล่าง:

import tensorflow
from tensorflow import keras

เราใช้ Google Colaboratory เพื่อรันโค้ดด้านล่าง Google Colab ช่วยให้รันโค้ด Python ผ่านเบราว์เซอร์ ไม่ต้องตั้งค่า และเข้าถึง GPU ฟรี Colaboratory สร้างขึ้นบน Jupyter Notebook โค้ดมีดังนี้:

ตัวอย่าง

print("Set checkpoint path")
checkpoint_path = "training_1/cp.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)
print("Creating a callback to save the weights")
cp_callback = tf.keras.callbacks.ModelCheckpoint(filepath=checkpoint_path, save_weights_only=True, verbose=1)
print("Model is trained with new callback")
model.fit(train_images,
          train_labels,
          epochs=10,
          validation_data=(test_images, test_labels),
          callbacks=[cp_callback])
ls {checkpoint_dir}

Code credit - https://www.tensorflow.org/tutorials/keras/save_and_load

ผลลัพธ์

วิธีใช้ Keras สร้าง callback และบันทึก weights ด้วย Python

วิธีใช้ Keras สร้าง callback และบันทึก weights ด้วย Python

วิธีใช้ Keras สร้าง callback และบันทึก weights ด้วย Python

คำอธิบาย

  • โมเดลที่ฝึกแล้วสามารถใช้งานได้โดยไม่ต้องฝึกใหม่หรือฝึกจากจุดที่หยุดไว้

  • เมธอด 'ModelCheckpoint' บันทึกโมเดลอย่างต่อเนื่องระหว่างและหลังการฝึก

  • ด้วยวิธีนี้ checkpoint files จะถูกอัปเดตหลังจากทุก epoch

  • โมเดลนี้ถูก fit กับข้อมูลฝึกอบรม