Keras adalah API tingkat tinggi dari platform TensorFlow. Ini memberikan antarmuka yang mudah didekati dan sangat produktif untuk memecahkan masalah pembelajaran mesin (ML), dengan fokus pada pembelajaran mendalam modern. Keras mencakup setiap langkah alur kerja pembelajaran mesin, mulai dari pemrosesan data hingga penyetelan hyperparameter hingga penerapan. Ini dikembangkan dengan fokus untuk memungkinkan eksperimen cepat.
Dengan Keras, Anda memiliki akses penuh ke skalabilitas dan kemampuan lintas platform TensorFlow. Anda dapat menjalankan Keras di TPU Pod atau cluster GPU yang besar, dan Anda dapat mengekspor model Keras untuk dijalankan di browser atau di perangkat seluler. Anda juga dapat menyajikan model Keras melalui API web.
Keras dirancang untuk mengurangi beban kognitif dengan mencapai tujuan berikut:
- Menawarkan antarmuka yang sederhana dan konsisten.
- Minimalkan jumlah tindakan yang diperlukan untuk kasus penggunaan umum.
- Berikan pesan kesalahan yang jelas dan dapat ditindaklanjuti.
- Ikuti prinsip pengungkapan kompleksitas secara progresif: Memulainya mudah, dan Anda dapat menyelesaikan alur kerja tingkat lanjut dengan terus belajar.
- Membantu Anda menulis kode yang ringkas dan mudah dibaca.
Siapa yang harus menggunakan Keras
Jawaban singkatnya adalah setiap pengguna TensorFlow harus menggunakan Keras API secara default. Baik Anda seorang insinyur, peneliti, atau praktisi ML, Anda harus memulai dengan Keras.
Ada beberapa kasus penggunaan (misalnya, membuat alat di atas TensorFlow atau mengembangkan platform berperforma tinggi Anda sendiri) yang memerlukan TensorFlow Core API tingkat rendah. Namun jika kasus penggunaan Anda tidak termasuk dalam salah satu aplikasi Core API , Anda sebaiknya memilih Keras.
Komponen Keras API
Struktur data inti Keras adalah lapisan dan model . Lapisan adalah transformasi input/output sederhana, dan model adalah grafik asiklik terarah (DAG) dari lapisan.
Lapisan
Kelas tf.keras.layers.Layer
adalah abstraksi mendasar di Keras. Layer
merangkum keadaan (bobot) dan beberapa komputasi (didefinisikan dalam metode tf.keras.layers.Layer.call
).
Bobot yang dibuat oleh lapisan dapat dilatih atau tidak dapat dilatih. Lapisan dapat disusun secara rekursif: Jika Anda menetapkan instance lapisan sebagai atribut lapisan lain, lapisan luar akan mulai melacak bobot yang dibuat oleh lapisan dalam.
Anda juga dapat menggunakan lapisan untuk menangani tugas prapemrosesan data seperti normalisasi dan vektorisasi teks. Lapisan pra-pemrosesan dapat dimasukkan langsung ke dalam model, selama atau setelah pelatihan, yang menjadikan model tersebut portabel.
Model
Model adalah objek yang mengelompokkan lapisan dan dapat dilatih berdasarkan data.
Jenis model yang paling sederhana adalah model Sequential
, yang merupakan tumpukan lapisan linier. Untuk arsitektur yang lebih kompleks, Anda dapat menggunakan API fungsional Keras , yang memungkinkan Anda membuat grafik lapisan secara acak, atau menggunakan subkelas untuk menulis model dari awal .
Kelas tf.keras.Model
menampilkan metode pelatihan dan evaluasi bawaan:
-
tf.keras.Model.fit
: Melatih model untuk sejumlah epoch yang tetap. -
tf.keras.Model.predict
: Menghasilkan prediksi keluaran untuk sampel masukan. -
tf.keras.Model.evaluate
: Mengembalikan nilai kerugian dan metrik untuk model; dikonfigurasi melalui metodetf.keras.Model.compile
.
Metode ini memberi Anda akses ke fitur pelatihan bawaan berikut:
- Panggilan balik . Anda dapat memanfaatkan callback bawaan untuk penghentian awal, pos pemeriksaan model, dan pemantauan TensorBoard . Anda juga dapat menerapkan panggilan balik khusus .
- Pelatihan terdistribusi . Anda dapat dengan mudah meningkatkan pelatihan Anda ke beberapa GPU, TPU, atau perangkat.
- Langkah sekering. Dengan
steps_per_execution
ditf.keras.Model.compile
, Anda dapat memproses beberapa batch dalam satu panggilantf.function
, yang sangat meningkatkan pemanfaatan perangkat di TPU.
Untuk gambaran rinci tentang cara menggunakan fit
, lihat panduan pelatihan dan evaluasi . Untuk mempelajari cara menyesuaikan loop pelatihan dan evaluasi bawaan, lihat Menyesuaikan apa yang terjadi di fit()
.
API dan alat lainnya
Keras menyediakan banyak API dan alat lain untuk pembelajaran mendalam, termasuk:
Untuk daftar lengkap API yang tersedia, lihat referensi Keras API . Untuk mempelajari lebih lanjut tentang proyek dan inisiatif Keras lainnya, lihat Ekosistem Keras .
Langkah selanjutnya
Untuk mulai menggunakan Keras dengan TensorFlow, lihat topik berikut:
- Model Sekuensial
- API Fungsional
- Pelatihan & evaluasi dengan metode bawaan
- Membuat layer dan model baru melalui subkelas
- Serialisasi dan penyimpanan
- Bekerja dengan lapisan pra-pemrosesan
- Menyesuaikan apa yang terjadi di fit()
- Menulis loop pelatihan dari awal
- Bekerja dengan RNN
- Memahami masking & padding
- Menulis panggilan balik Anda sendiri
- Transfer pembelajaran & penyempurnaan
- Pelatihan multi-GPU dan terdistribusi
Untuk mempelajari lebih lanjut tentang Keras, lihat topik berikut di keras.io :