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

รวบรวมโมเดลตามลำดับด้วยวิธีคอมไพล์ - Keras และ Python


Keras ได้รับการพัฒนาโดยเป็นส่วนหนึ่งของการวิจัยสำหรับโครงการ ONEIROS (ระบบปฏิบัติการหุ่นยนต์อัจฉริยะ Neuro-Electronic ปลายเปิด) Keras เป็น API การเรียนรู้เชิงลึกซึ่งเขียนด้วยภาษา Python เป็น API ระดับสูงที่มีอินเทอร์เฟซการทำงานที่ช่วยแก้ปัญหาแมชชีนเลิร์นนิง

มันทำงานบนเฟรมเวิร์ก Tensorflow มันถูกสร้างขึ้นเพื่อช่วยทดลองในลักษณะที่รวดเร็ว โดยนำเสนอสิ่งที่เป็นนามธรรมและการสร้างบล็อคที่จำเป็นต่อการพัฒนาและการห่อหุ้มโซลูชันแมชชีนเลิร์นนิง

สามารถปรับขนาดได้สูงและมาพร้อมกับความสามารถข้ามแพลตฟอร์ม ซึ่งหมายความว่า Keras จะทำงานบน TPU หรือคลัสเตอร์ของ GPU ได้ นอกจากนี้ โมเดล Keras ยังสามารถส่งออกไปยังเว็บเบราว์เซอร์หรือโทรศัพท์มือถือได้อีกด้วย

Keras มีอยู่แล้วในแพ็คเกจ Tensorflow สามารถเข้าถึงได้โดยใช้รหัสบรรทัดด้านล่าง

import tensorflow
from tensorflow import keras

Keras functional API ช่วยสร้างโมเดลที่มีความยืดหยุ่นมากกว่าเมื่อเปรียบเทียบกับโมเดลที่สร้างโดยใช้ Sequential API API ที่ใช้งานได้สามารถทำงานกับโมเดลที่มีโทโพโลยีที่ไม่ใช่เชิงเส้น สามารถแชร์เลเยอร์และทำงานกับอินพุตและเอาต์พุตได้หลายรายการ โมเดลการเรียนรู้เชิงลึกมักจะเป็นกราฟ acyclic แบบกำกับทิศทาง (DAG) ที่มีหลายเลเยอร์ API การทำงานช่วยสร้างกราฟของเลเยอร์

เรากำลังใช้ Google Colaboratory เพื่อเรียกใช้โค้ดด้านล่าง Google Colab หรือ Colaboratory ช่วยเรียกใช้โค้ด Python บนเบราว์เซอร์และไม่ต้องมีการกำหนดค่าใดๆ และเข้าถึง GPU ได้ฟรี (หน่วยประมวลผลกราฟิก) Colaboratory ถูกสร้างขึ้นบน Jupyter Notebook ต่อไปนี้เป็นข้อมูลโค้ด -

ตัวอย่าง

print("Model is being compiled")
model.compile(
   optimizer=keras.optimizers.RMSprop(1e-3),
   loss={
      "priority": keras.losses.BinaryCrossentropy(from_logits=True),
      "department": keras.losses.CategoricalCrossentropy(from_logits=True),
   },
   loss_weights=[1.0, 0.2],
)

เครดิตโค้ด – https://www.tensorflow.org/guide/keras/functional

ผลลัพธ์

Model is being compiled

คำอธิบาย

  • โมเดลถูกคอมไพล์โดยใช้วิธีการ 'คอมไพล์'

  • สามารถกำหนดความสูญเสียที่แตกต่างกันให้กับทุกเอาต์พุตเมื่อมีการรวบรวม

  • นอกจากนี้ยังสามารถกำหนดน้ำหนักที่แตกต่างกันให้กับการสูญเสียที่แตกต่างกัน ด้วยวิธีนี้ การสูญเสียการฝึกทั้งหมดจะถูกปรับ