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

วิธีใช้ Keras บันทึก weights แบบมืออาชีพด้วย Python


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

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 weights are saved")
model.save_weights('./checkpoints/my_checkpoint')
print("A new model instance is created")
model = create_model()
print("Restore the weights of the old model")
model.load_weights('./checkpoints/my_checkpoint')
print("The model is being evaluated")
loss, acc = model.evaluate(test_images, test_labels, verbose=2)
print("Restored model, accuracy: {:5.2f}%".format(100 * acc))

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

ผลลัพธ์

วิธีใช้ Keras บันทึก weights แบบมืออาชีพด้วย Python

คำอธิบาย

  • Weights สำหรับโมเดลใหม่ถูกบันทึกโดยใช้เมธอด 'save_weights'

  • โมเดลใหม่อีกตัวหนึ่งถูกสร้างโดยใช้เมธอด 'create_model'

  • Weights ของโมเดลเก่าถูกกู้คืน

  • โมเดลใหม่เชื่อมโยงกับ weights เก่าและประเมินผล

  • โมเดลใหม่นี้ถูกประเมินโดยใช้เมธอด 'evaluate'

  • ความแม่นยำและ loss ระหว่างการฝึกอบรมถูกกำหนด

  • ค่าเหล่านี้แสดงบนคอนโซล