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, oldukça üretken bir arabirim sağlar. Keras, veri işlemeden hiperparametre ayarına ve dağıtıma kadar makine öğrenimi iş akışının her adımını kapsar. Hızlı deney yapmaya odaklanılarak geliştirilmiştir.

Keras ile, TensorFlow'un ölçeklenebilirlik ve platformlar arası yeteneklerine tam erişime sahip olursunuz. Keras'ı bir TPU Bölmesinde 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.
  • Net, eyleme geçirilebilir hata mesajları sağlayın.
  • Karmaşıklığın aşamalı olarak açıklanması ilkesini izleyin: Başlaması kolaydır ve ilerledikçe öğrenerek gelişmiş iş akışlarını tamamlayabilirsiniz.
  • Özlü, 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ı veya 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 girmiyorsa, Keras'ı tercih etmelisiniz.

Keras API bileşenleri

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

Katmanlar

tf.keras.layers.Layer sınıfı, Keras'taki temel soyutlamadır. Bir Layer bir durumu (ağırlıklar) ve bazı hesaplamaları ( tf.keras.layers.Layer.call yönteminde tanımlanmış) 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 özniteliği olarak atarsanız, dış katman, iç katman tarafından oluşturulan ağırlıkları izlemeye başlar.

Normalleştirme ve metin vektörleştirme gibi veri ön işleme görevlerini yerine getirmek için katmanları da kullanabilirsiniz. Ön işleme katmanları, modeli taşınabilir hale getiren eğitim sırasında veya sonrasında doğrudan bir modele dahil edilebilir.

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, isteğe bağlı katman grafikleri oluşturmanıza izin veren Keras işlevsel API'sini kullanabilir veya modelleri sıfırdan yazmak için alt sınıflamayı kullanabilirsiniz .

tf.keras.Model sınıfı yerleşik eğitim ve değerlendirme yöntemleri içerir:

  • tf.keras.Model.fit : Modeli sabit sayıda dönem için eğitir.
  • tf.keras.Model.predict : Girdi örnekleri için çıktı tahminleri oluşturur.
  • tf.keras.Model.evaluate : Model için kayıp ve ölçüm değerlerini döndürür; tf.keras.Model.compile yöntemiyle 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ı ve TensorBoard izleme için yerleşik geri aramalardan yararlanabilirsiniz. Özel geri aramalar da uygulayabilirsiniz .
  • Dağıtılmış eğitim Eğitiminizi kolayca birden fazla GPU'ya, TPU'ya veya cihaza ölçeklendirebilirsiniz.
  • Adım kaynaştırma. tf.keras.Model.compile steps_per_execution bağımsız değişkeni ile, tek bir tf.function çağrısında birden çok toplu işi işleyebilirsiniz, bu da TPU'larda cihaz kullanımını büyük ölçüde geliştirir.

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ülerini nasıl özelleştireceğinizi öğrenmek için fit() te ne olduğunu özelleştirme konusuna bakın.

Diğer API'ler ve araçlar

Keras, aşağıdakiler dahil olmak üzere derin öğrenme için 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 adresindeki aşağıdaki konulara bakın: