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("The model is being plotted") keras.utils.plot_model(model, "my_resnet.png", show_shapes=True) print("Split the data into training and test data") (x_train, y_train), (x_test, y_test) = keras.datasets.cifar10.load_data() print("Convert the type of data to float") x_train = x_train.astype("float32") / 255.0 x_test = x_test.astype("float32") / 255.0 y_train = keras.utils.to_categorical(y_train, 10) y_test = keras.utils.to_categorical(y_test, 10) print("Compiling the model") model.compile( optimizer=keras.optimizers.RMSprop(1e-3), loss=keras.losses.CategoricalCrossentropy(from_logits=True), metrics=["acc"], ) model.fit(x_train[:2000], y_train[:2000], batch_size=64, epochs=2, validation_split=0.2)
เครดิตโค้ด – https://www.tensorflow.org/guide/keras/functional
ผลลัพธ์
The model is being plotted Split the data into training and test data Downloading data from https://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz 170500096/170498071 [==============================] - 2s 0us/step Convert the type of data to float Compiling the model Epoch 1/2 25/25 [==============================] - 9s 332ms/step - loss: 2.3163 - acc: 0.1028 - val_loss: 2.2962 - val_acc: 0.1175 Epoch 2/2 25/25 [==============================] - 12s 492ms/step - loss: 2.3155 - acc: 0.1175 - val_loss: 2.2606 - val_acc: 0.1200 <tensorflow.python.keras.callbacks.History at 0x7f48d3ecfb00>
คำอธิบาย
-
ข้อมูลที่ป้อนจะถูกแบ่งออกเป็นชุดข้อมูลการฝึกอบรมและทดสอบ
-
ประเภทข้อมูลจะถูกแปลงเป็นประเภท "ลอย"
-
โมเดลถูกคอมไพล์โดยใช้วิธีการ 'คอมไพล์'
-
วิธี 'พอดี' ใช้เพื่อปรับโมเดลให้เข้ากับข้อมูลการฝึก