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

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