TensorFlow Lite ile kullandığınız makine öğrenimi (ML) modelleri, orijinal olarak TensorFlow çekirdek kitaplıkları ve araçları kullanılarak oluşturulmuş ve eğitilmiştir. TensorFlow çekirdeğine sahip bir model oluşturduğunuzda, bunu TensorFlow Lite modeli adı verilen daha küçük, daha verimli bir ML model formatına dönüştürebilirsiniz. Bu bölümde TensorFlow modellerinizi TensorFlow Lite model formatına dönüştürme konusunda rehberlik sağlanmaktadır.
Dönüşüm iş akışı
TensorFlow modellerini TensorFlow Lite formatına dönüştürmek, ML modelinizin içeriğine bağlı olarak birkaç yol alabilir. Bu sürecin ilk adımı olarak modelinizi değerlendirerek doğrudan dönüştürülüp dönüştürülemeyeceğine karar vermelisiniz. Bu değerlendirme, modelin içeriğinin, kullandığı TensorFlow işlemlerine dayalı olarak standart TensorFlow Lite çalışma zamanı ortamları tarafından desteklenip desteklenmediğini belirler. Modeliniz desteklenen kümenin dışındaki işlemleri kullanıyorsa modelinizi yeniden düzenleme veya gelişmiş dönüştürme tekniklerini kullanma seçeneğiniz vardır.
Aşağıdaki diyagram bir modeli dönüştürmenin üst düzey adımlarını göstermektedir.
Şekil 1. TensorFlow Lite dönüştürme iş akışı.
Aşağıdaki bölümlerde TensorFlow Lite ile kullanım için modellerin değerlendirilmesi ve dönüştürülmesi süreci özetlenmektedir.
Giriş modeli formatları
Dönüştürücüyü aşağıdaki giriş modeli formatlarıyla kullanabilirsiniz:
- SavedModel ( önerilir ): Diske bir dizi dosya olarak kaydedilen bir TensorFlow modeli.
- Keras modeli : Üst düzey Keras API kullanılarak oluşturulan bir model.
- Keras H5 formatı : Keras API tarafından desteklenen SavedModel formatına hafif bir alternatif.
- Somut işlevlerden oluşturulan modeller : Düşük seviyeli TensorFlow API kullanılarak oluşturulan bir model.
Hem Keras hem de somut fonksiyon modellerini SavedModel olarak kaydedebilir ve önerilen yolu kullanarak dönüştürebilirsiniz.
Jax modeliniz varsa bunu TensorFlow Lite formatına dönüştürmek için TFLiteConverter.experimental_from_jax
API'sini kullanabilirsiniz. Bu API'nin deneysel modda değişebileceğini unutmayın.
Dönüşüm değerlendirmesi
Modelinizi değerlendirmek, onu dönüştürmeye çalışmadan önce önemli bir adımdır. Değerlendirme yaparken modelinizin içeriğinin TensorFlow Lite formatıyla uyumlu olup olmadığını belirlemek istiyorsunuz. Ayrıca, modelin kullandığı veri boyutu, donanım işleme gereksinimleri ve modelin genel boyutu ve karmaşıklığı açısından modelinizin mobil ve uç cihazlarda kullanıma uygun olup olmadığını da belirlemelisiniz.
Birçok modelde dönüştürücü kutudan çıktığı gibi çalışmalıdır. Ancak TensorFlow Lite yerleşik operatör kitaplığı, TensorFlow çekirdek operatörlerinin bir alt kümesini destekler; bu, bazı modellerin TensorFlow Lite'a dönüştürülmeden önce ek adımlara ihtiyaç duyabileceği anlamına gelir. Ayrıca TensorFlow Lite tarafından desteklenen bazı operasyonların performans nedenlerinden dolayı kullanım gereksinimleri sınırlıdır. Modelinizin dönüşüm için yeniden düzenlenmesi gerekip gerekmediğini belirlemek için operatör uyumluluk kılavuzuna bakın.
Model dönüşümü
TensorFlow Lite dönüştürücü, bir TensorFlow modelini alır ve bir TensorFlow Lite modeli ( .tflite
dosya uzantısıyla tanımlanan optimize edilmiş bir FlatBuffer formatı) oluşturur. Bir SavedModel yükleyebilir veya kodda oluşturduğunuz bir modeli doğrudan dönüştürebilirsiniz.
Dönüştürücü, dönüşümü modelinize göre özelleştiren 3 ana işaret (veya seçenek) alır:
- Uyumluluk bayrakları, dönüşümün özel işleçlere izin verip vermeyeceğini belirtmenize olanak tanır.
- Optimizasyon bayrakları, dönüştürme sırasında uygulanacak optimizasyon türünü belirtmenize olanak tanır. En sık kullanılan optimizasyon tekniği eğitim sonrası kuantizasyondur .
- Meta veri bayrakları, dönüştürülen modele meta veriler eklemenize olanak tanır; bu, modelleri cihazlara dağıtırken platforma özel sarmalayıcı kod oluşturmayı kolaylaştırır.
Modelinizi Python API'sini veya Komut satırı aracını kullanarak dönüştürebilirsiniz. Dönüştürücüyü modelinizde çalıştırmaya ilişkin adım adım talimatlar için Convert TF model kılavuzuna bakın.
Genellikle modelinizi standart TensorFlow Lite çalışma zamanı ortamına veya TensorFlow Lite (Beta) için Google Play hizmetleri çalışma zamanı ortamına dönüştürürsünüz. Bazı gelişmiş kullanım örnekleri, dönüştürme sürecinde ek adımlar gerektiren model çalışma zamanı ortamının özelleştirilmesini gerektirir. Daha fazla rehberlik için Android'e genel bakışın gelişmiş çalışma zamanı ortamı bölümüne bakın.
Gelişmiş dönüşüm
Dönüştürücüyü modelinizde çalıştırırken hatalarla karşılaşırsanız büyük ihtimalle operatör uyumluluk sorununuz vardır. TensorFlow işlemlerinin tümü TensorFlow Lite tarafından desteklenmez. Modelinizi yeniden düzenleyerek veya değiştirilmiş bir TensorFlow Lite format modeli ve bu model için özel bir çalışma zamanı ortamı oluşturmanıza olanak tanıyan gelişmiş dönüştürme seçeneklerini kullanarak bu sorunları çözebilirsiniz.
- TensorFlow ve TensorFlow Lite model uyumluluğu hususları hakkında daha fazla bilgi için Model uyumluluğuna genel bakış bölümüne bakın.
- Model uyumluluğuna genel bakış altındaki konular, operatör seçme kılavuzu gibi modelinizi yeniden düzenlemeye yönelik gelişmiş teknikleri kapsar.
- İşlemlerin ve sınırlamaların tam listesi için TensorFlow Lite Ops sayfasına bakın.
Sonraki adımlar
- Modelinizi dönüştürmeye hızla başlamak için TF modellerini dönüştürme kılavuzuna bakın.
- Dönüştürülen modelinizi eğitim sonrası niceleme gibi teknikleri kullanarak nasıl optimize edeceğinize ilişkin rehberlik için optimizasyona genel bakışa bakın.
- Modellerinize meta verileri nasıl ekleyeceğinizi öğrenmek için Meta veri eklemeye genel bakış konusuna bakın. Meta veriler, diğer kullanımlara modelinizin açıklamasını ve ayrıca kod oluşturucuların yararlanabileceği bilgileri sağlar.