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
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.compileyö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_executionbağı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:
Sonraki adımlar
Keras'ı TensorFlow ile kullanmaya başlamak için aşağıdaki konulara göz atın:
- Sıralı model
- İşlevsel API
- Yerleşik yöntemlerle eğitim ve değerlendirme
- Alt sınıflandırma yoluyla yeni katmanlar ve modeller oluşturma
- Serileştirme ve kaydetme
- Ön işleme katmanlarıyla çalışma
- fit() içinde olanları özelleştirme
- Sıfırdan bir eğitim döngüsü yazmak
- RNN'lerle çalışma
- Maskeleme ve dolguyu anlama
- Kendi geri aramalarınızı yazma
- Aktarım öğrenimi ve ince ayar
- Çoklu GPU ve dağıtılmış eğitim
Keras hakkında daha fazla bilgi edinmek için keras.io adresindeki aşağıdaki konulara bakın: