Keras: API tingkat tinggi untuk TensorFlow

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 metode tf.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 di tf.keras.Model.compile , Anda bisa memproses beberapa batch dalam satu panggilan tf.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:

Untuk mempelajari lebih lanjut tentang Keras, lihat topik berikut di keras.io :