Model dönüştürmeye genel bakış

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ği ile bir model oluşturduğunuzda, onu TensorFlow Lite modeli adı verilen daha küçük, daha verimli bir ML model biçimine dönüştürebilirsiniz. Bu bölüm, TensorFlow modellerinizi TensorFlow Lite model formatına dönüştürmek için rehberlik sağlar.

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, doğrudan dönüştürülüp dönüştürülemeyeceğini belirlemek için modelinizi değerlendirmelisiniz. Bu değerlendirme, model 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 şema, bir modeli dönüştürmenin üst düzey adımlarını göstermektedir.

TFLite dönüştürme iş akışı

Şekil 1. TensorFlow Lite dönüştürme iş akışı.

Aşağıdaki bölümler, TensorFlow Lite ile kullanım için modelleri değerlendirme ve dönüştürme sürecini özetlemektedir.

Giriş modeli biçimleri

Dönüştürücüyü aşağıdaki giriş modeli biçimleriyle kullanabilirsiniz:

Hem Keras'ı hem de somut fonksiyon modellerini SavedModel olarak kaydedebilir ve önerilen yolu kullanarak dönüştürebilirsiniz.

Jax modeliniz varsa, onu TensorFlow Lite biçimine dönüştürmek için TFLiteConverter.experimental_from_jax API'sini kullanabilirsiniz. Bu API'nin deneysel moddayken 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ğerlendirirken, modelinizin içeriğinin TensorFlow Lite formatı ile uyumlu olup olmadığını belirlemek istersiniz. Modelinizin kullandığı veri boyutu, donanım işleme gereksinimleri ve modelin genel boyutu ve karmaşıklığı açısından modelinizin mobil ve uç cihazlarda kullanım için uygun olup olmadığını da belirlemelisiniz.

Birçok model için 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ürmeden önce ek adımlara ihtiyaç duyabileceği anlamına gelir. Ayrıca, TensorFlow Lite tarafından desteklenen bazı işlemler, performans nedenleriyle sınırlı kullanım gereksinimlerine sahiptir. Modelinizin dönüştürme için yeniden düzenlenmesi gerekip gerekmediğini belirlemek için operatör uyumluluk kılavuzuna bakın.

Model dönüştürme

TensorFlow Lite dönüştürücü, bir TensorFlow modeli alır ve bir TensorFlow Lite modeli ( .tflite dosya uzantısı tarafından 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ü, modeliniz için dönüştürmeyi özelleştiren 3 ana işaret (veya seçenek) alır:

  1. Uyumluluk bayrakları , dönüştürmenin özel işleçlere izin verip vermeyeceğini belirtmenize olanak tanır.
  2. Optimizasyon bayrakları , dönüşüm sırasında uygulanacak optimizasyon türünü belirtmenize olanak tanır. En yaygın olarak kullanılan optimizasyon tekniği, eğitim sonrası sayısallaştırmadır .
  3. Meta veri bayrakları , dönüştürülmüş modele meta veri eklemenize olanak tanır, bu da modelleri cihazlara dağıtırken platforma özel sarmalayıcı kodu oluşturmayı kolaylaştırır.

Python API'sini veya Komut satırı aracını kullanarak modelinizi dönüştürebilirsiniz. Dönüştürücüyü modelinizde çalıştırmayla ilgili adım adım talimatlar için Convert TF model kılavuzuna bakın.

Tipik olarak 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 durumları, 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üştürme

Dönüştürücüyü modelinizde çalıştırırken hatalarla karşılaşırsanız, büyük olasılıkla bir operatör uyumluluğu sorununuz vardır. Tüm TensorFlow işlemleri, TensorFlow Lite tarafından desteklenmez. Modelinizi yeniden düzenleyerek veya değiştirilmiş bir TensorFlow Lite biçim 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.

Sonraki adımlar

  • Modelinizi dönüştürmeye hızlı bir şekilde başlamak için convert TF modelleri kılavuzuna bakın.
  • Eğitim sonrası sayısallaştırma gibi teknikleri kullanarak dönüştürülmüş modelinizi nasıl optimize edeceğinize ilişkin rehberlik için optimizasyona genel bakışa bakın.
  • Modellerinize nasıl meta veri ekleyeceğinizi öğrenmek için Meta veri eklemeye genel bakış bölümüne bakın. Meta veriler, diğer kullanımlara modelinizin bir açıklamasını ve kod oluşturucular tarafından kullanılabilecek bilgileri sağlar.