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 kemampuan skalabilitas dan lintas platform TensorFlow. Anda dapat menjalankan Keras di TPU Pod atau kumpulan besar GPU, dan Anda dapat mengekspor model Keras untuk dijalankan di browser atau di perangkat seluler. Anda juga dapat menyajikan model Keras melalui web API.
Keras dirancang untuk mengurangi beban kognitif dengan mencapai tujuan berikut:
- Tawarkan 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 progresif: Mudah untuk memulai, dan Anda dapat menyelesaikan alur kerja tingkat lanjut dengan belajar sambil jalan.
- 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. Apakah Anda seorang insinyur, peneliti, atau praktisi ML, Anda harus mulai dengan Keras.
Ada beberapa kasus penggunaan (misalnya, membuat alat di atas TensorFlow atau mengembangkan platform performa tinggi Anda sendiri) yang memerlukan TensorFlow Core API level rendah . Tetapi jika kasus penggunaan Anda tidak termasuk dalam salah satu aplikasi Core API , Anda sebaiknya memilih Keras.
Komponen Keras API
Struktur data inti dari Keras adalah layer dan model . Layer adalah transformasi input/output sederhana, dan model adalah grafik asiklik terarah (DAG) dari layer.
Lapisan
Kelas tf.keras.layers.Layer
adalah abstraksi dasar di Keras. Sebuah Layer
mengenkapsulasi sebuah state (bobot) dan beberapa perhitungan (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 dari 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 preprocessing dapat dimasukkan langsung ke dalam model, baik selama atau setelah pelatihan, yang membuat model menjadi portabel.
Model
Model adalah objek yang mengelompokkan lapisan bersama-sama dan yang dapat dilatih pada data.
Jenis model 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 yang sewenang-wenang, 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 jumlah epoch yang tetap. -
tf.keras.Model.predict
: Menghasilkan prediksi output untuk sampel input. -
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:
- Callback . Anda dapat memanfaatkan panggilan balik bawaan untuk penghentian lebih awal, pos pemeriksaan model, dan pemantauan TensorBoard . Anda juga dapat menerapkan panggilan balik khusus .
- Pelatihan yang didistribusikan . Anda dapat dengan mudah meningkatkan pelatihan Anda ke beberapa GPU, TPU, atau perangkat.
- Langkah menyatu. Dengan argumen
steps_per_execution
ditf.keras.Model.compile
, Anda bisa memproses beberapa batch dalam satu panggilantf.function
, yang sangat meningkatkan penggunaan perangkat pada TPU.
Untuk ikhtisar mendetail 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 The 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 subclassing
- Serialisasi dan penyimpanan
- Bekerja dengan lapisan preprocessing
- Menyesuaikan apa yang terjadi di fit()
- Menulis lingkaran pelatihan dari awal
- Bekerja dengan RNN
- Memahami masking & padding
- Menulis callback Anda sendiri
- Mentransfer pembelajaran & fine-tuning
- Multi-GPU dan pelatihan terdistribusi
Untuk mempelajari lebih lanjut tentang Keras, lihat topik berikut di keras.io :