Model dönüşümüne 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ğ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.

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

Ş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:

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:

  1. Uyumluluk bayrakları, dönüşümün özel işleçlere izin verip vermeyeceğini belirtmenize olanak tanır.
  2. 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ı kuanitizasyondur .
  3. 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.

Sonraki adımlar