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

วิธีใช้ Keras บันทึกโมเดลในรูปแบบ HDF5 ด้วย Python


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

แพ็กเกจ '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 ที่จำเป็นในการพัฒนาและห่อหุ้มโซลูชันการเรียนรู้ของเครื่อง มีความสามารถในการขยายตัวสูง และรองรับ cross-platform หมายความว่า Keras รันบน TPU หรือ叢集ของ GPUs ได้ โมเดล Keras ยังสามารถส่งออกเพื่อรันบนเว็บเบราว์เซอร์หรือโทรศัพท์มือถือได้อีกด้วย

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

import tensorflow
from tensorflow import keras

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

ตัวอย่าง

print("The model is saved to HDF5 format")
model.save('my_model.h5')
print("The same model is recreated with same weights and optimizer")
new_model = tf.keras.models.load_model('my_model.h5')
print("The architecture of the model is observed")
new_model.summary()

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

ผลลัพธ์

วิธีใช้ Keras บันทึกโมเดลในรูปแบบ HDF5 ด้วย Python

คำอธิบาย

  • โมเดลที่สร้างใหม่สามารถบันทึกได้โดยใช้ฟังก์ชัน 'save'

  • สามารถบันทึกเป็นรูปแบบ HDF5 โดยเฉพาะโดยใช้นามสกุล 'h5'

  • โมเดลนี้ถูกโหลดโดยใช้ weights และ optimizer เดิม

  • รายละเอียดของโมเดลใหม่แสดงบนคอนโซลโดยใช้เมธอด 'summary'