Keras: TensorFlow için üst düzey API

Keras, TensorFlow platformunun üst düzey API'sidir. Modern derin öğrenmeye odaklanarak makine öğrenimi (ML) sorunlarını çözmek için ulaşılabilir, son derece verimli bir arayüz sağlar. Keras, veri işlemeden hiper parametre ayarlamaya ve dağıtıma kadar makine öğrenimi iş akışının her adımını kapsar. Hızlı deney yapılmasına odaklanılarak geliştirildi.

Keras ile TensorFlow'un ölçeklenebilirlik ve platformlar arası yeteneklerine tam erişime sahip olursunuz. Keras'ı bir TPU Pod'da veya büyük GPU kümelerinde çalıştırabilir ve Keras modellerini tarayıcıda veya mobil cihazlarda çalışacak şekilde dışa aktarabilirsiniz. Keras modellerini bir web API aracılığıyla da sunabilirsiniz.

Keras, aşağıdaki hedeflere ulaşarak bilişsel yükü azaltmak için tasarlanmıştır:

  • Basit, tutarlı arayüzler sunun.
  • Yaygın kullanım durumları için gereken eylem sayısını en aza indirin.
  • Açık ve uygulanabilir hata mesajları sağlayın.
  • Karmaşıklığın aşamalı olarak açıklanması ilkesini izleyin: Başlamak kolaydır ve ilerledikçe öğrenerek gelişmiş iş akışlarını tamamlayabilirsiniz.
  • Kısa ve okunabilir kod yazmanıza yardımcı olur.

Keras'ı kimler kullanmalı?

Kısa cevap, her TensorFlow kullanıcısının varsayılan olarak Keras API'lerini kullanması gerektiğidir. İster mühendis, ister araştırmacı, ister makine öğrenimi uygulayıcısı olun, Keras ile başlamalısınız.

Düşük seviyeli TensorFlow Core API'lerini gerektiren birkaç kullanım durumu (örneğin, TensorFlow üzerinde araçlar oluşturmak veya kendi yüksek performanslı platformunuzu geliştirmek) vardır. Ancak kullanım durumunuz Core API uygulamalarından birine uymuyorsa Keras'ı tercih etmelisiniz.

Keras API bileşenleri

Keras'ın temel veri yapıları katmanlar ve modellerdir . Katman basit bir giriş/çıkış dönüşümüdür ve model, katmanların yönlendirilmiş döngüsel olmayan grafiğidir (DAG).

Katmanlar

tf.keras.layers.Layer sınıfı Keras'taki temel soyutlamadır. Layer bir durumu (ağırlıklar) ve bazı hesaplamaları ( tf.keras.layers.Layer.call yönteminde tanımlanmıştır) kapsar.

Katmanlar tarafından oluşturulan ağırlıklar eğitilebilir veya eğitilemez olabilir. Katmanlar yinelemeli olarak birleştirilebilir: Bir katman örneğini başka bir katmanın niteliği olarak atarsanız, dış katman, iç katman tarafından oluşturulan ağırlıkları izlemeye başlayacaktır.

Normalleştirme ve metin vektörleştirme gibi veri ön işleme görevlerini gerçekleştirmek için katmanları da kullanabilirsiniz. Ön işleme katmanları, eğitim sırasında veya sonrasında doğrudan modele dahil edilebilir, bu da modeli taşınabilir kılar.

Modeller

Model, katmanları bir arada gruplayan ve veriler üzerinde eğitilebilen bir nesnedir.

En basit model türü, doğrusal bir katman yığını olan Sequential modeldir . Daha karmaşık mimariler için, rastgele katman grafikleri oluşturmanıza olanak tanıyan Keras işlevsel API'sini kullanabilir veya modelleri sıfırdan yazmak için alt sınıflandırmayı kullanabilirsiniz .

tf.keras.Model sınıfı yerleşik eğitim ve değerlendirme yöntemlerine sahiptir:

  • tf.keras.Model.fit : Modeli sabit sayıda dönem için eğitir.
  • tf.keras.Model.predict : Giriş örnekleri için çıktı tahminleri oluşturur.
  • tf.keras.Model.evaluate : Modelin kayıp ve ölçüm değerlerini döndürür; tf.keras.Model.compile yöntemi aracılığıyla yapılandırılır.

Bu yöntemler aşağıdaki yerleşik eğitim özelliklerine erişmenizi sağlar:

  • Geri aramalar . Erken durdurma, model kontrol noktası belirleme ve TensorBoard izleme için yerleşik geri aramalardan yararlanabilirsiniz. Ayrıca özel geri aramalar da uygulayabilirsiniz .
  • Dağıtılmış eğitim . Eğitiminizi birden fazla GPU'ya, TPU'ya veya cihaza kolayca ölçeklendirebilirsiniz.
  • Adım kaynaştırma. tf.keras.Model.compile steps_per_execution değişkeni ile tek bir tf.function çağrısında birden fazla toplu işlemi işleyebilirsiniz; bu, TPU'larda cihaz kullanımını büyük ölçüde artırır.

fit nasıl kullanılacağına ilişkin ayrıntılı bir genel bakış için eğitim ve değerlendirme kılavuzuna bakın. Yerleşik eğitim ve değerlendirme döngülerinin nasıl özelleştirileceğini öğrenmek için bkz . fit() te olanları özelleştirme .

Diğer API'ler ve araçlar

Keras, derin öğrenme için aşağıdakiler dahil birçok başka API ve araç sağlar:

Kullanılabilir API'lerin tam listesi için Keras API referansına bakın. Diğer Keras projeleri ve girişimleri hakkında daha fazla bilgi edinmek için bkz . Keras ekosistemi .

Sonraki adımlar

Keras'ı TensorFlow ile kullanmaya başlamak için aşağıdaki konulara göz atın:

Keras hakkında daha fazla bilgi edinmek için keras.io'da aşağıdaki konulara bakın: