Model dönüşüme genel bakış

TensorFlow Lite ile kullandığınız makine öğrenimi (ML) modelleri başlangıçta TensorFlow temel kitaplıkları ve araçları kullanılarak oluşturulup eğitilir. TensorFlow çekirdeğiyle bir model oluşturduktan sonra bu modeli TensorFlow Lite modeli adı verilen daha küçük, daha verimli bir makine öğrenimi modeli biçimine dönüştürebilirsiniz. Bu bölümde, TensorFlow modellerinizi TensorFlow Lite model biçimine dönüştürmeyle ilgili yol gösterici bilgiler sağlanmaktadır.

Dönüşüm iş akışı

TensorFlow modellerini, makine öğrenimi modelinizin içeriğine bağlı olarak TensorFlow Lite biçimine dönüştürmenin birkaç yolu olabilir. Bu sürecin ilk adımı olarak, modelinizi doğrudan dönüştürülüp dönüştürülemeyeceğini belirlemek için değerlendirmelisiniz. Bu değerlendirme, model içeriğinin standart TensorFlow Lite çalışma zamanı ortamları tarafından desteklenip desteklenmediğini, modelin kullandığı TensorFlow işlemlerine bağlı olarak belirler. Modeliniz, desteklenen küme dışındaki işlemler kullanıyorsa modelinizi yeniden düzenleyebilir veya gelişmiş dönüşüm teknikleri kullanabilirsiniz.

Aşağıdaki şemada, bir modelin dönüştürülmesi için gereken üst düzey adımlar gösterilmektedir.

TFLite dönüşümü iş akışı

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

Aşağıdaki bölümlerde, TensorFlow Lite ile kullanılmak üzere modelleri değerlendirme ve dönüştürme süreci özetlenmektedir.

Giriş modeli biçimleri

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

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

Jax modeliniz varsa TFLiteConverter.experimental_from_jax API'yi kullanarak TensorFlow Lite biçimine dönüştürebilirsiniz. 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ğerlendirme sırasında modelinizin içeriğinin TensorFlow Lite biçimiyle uyumlu olup olmadığını belirlemek istiyorsunuz. Ayrıca modelinizin kullandığı veri boyutu, donanım işleme gereksinimleri, genel boyutu ve karmaşıklığı açısından modelinizin mobil ve uç cihazlarda kullanım için uygun olup olmadığını da belirlemeniz gerekir.

Birçok modelde dönüştürücü, kullanıma hazır olarak çalışacaktır. Ancak TensorFlow Lite yerleşik operatör kitaplığı, TensorFlow temel operatörlerinin bir alt kümesini destekler. Bu nedenle, bazı modellerin TensorFlow Lite'a dönüştürülmeden önce ek adımlara ihtiyacı olabilir. Ayrıca TensorFlow Lite tarafından desteklenen bazı işlemler, performans nedeniyle kullanım gereksinimlerini kısıtlar. Modelinizin dönüşüm için yeniden düzenlenmesi gerekip gerekmediğini belirlemek için operatör uyumluluğu kılavuzuna bakın.

Model dönüşümü

TensorFlow Lite dönüştürücü, bir TensorFlow modeli alır ve bir TensorFlow Lite modeli (.tflite dosya uzantısıyla tanımlanan optimize edilmiş bir FlatBuffer biçimi) oluşturur. SavedModel'i 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 işaretleri, dönüşümün özel operatörlere izin verip vermeyeceğini belirtmenizi sağlar.
  2. Optimizasyon işaretleri, dönüşüm sırasında uygulanacak optimizasyon türünü belirtmenizi sağlar. En yaygın kullanılan optimizasyon tekniği, eğitim sonrası nicelleştirmedir.
  3. Meta veri işaretleri, dönüştürülen modele meta veri eklemenize olanak tanır. Böylece, cihazlara model dağıtırken platforma özel sarmalayıcı kodu oluşturmayı kolaylaştırır.

Python API 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 TF modelini dönüştürme kılavuzuna bakın.

Genellikle modelinizi standart TensorFlow Lite çalışma zamanı ortamı veya TensorFlow Lite (Beta) için Google Play hizmetleri çalışma zamanı ortamı için dönüştürürsünüz. Bazı gelişmiş kullanım alanları, model çalışma zamanı ortamının özelleştirilmesini gerektirir. Bu ortam, dönüşüm sürecinde ek adımlar gerektirir. Daha fazla bilgi 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 muhtemelen 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ı giderebilirsiniz.

  • TensorFlow ve TensorFlow Lite model uyumluluğu ile ilgili dikkat edilmesi gereken noktalar 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, modelinizi yeniden düzenlemeye yönelik gelişmiş teknikleri (ör. Operatör seçme kılavuzu) 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ızlı bir şekilde başlamak için TF modellerini dönüştürme kılavuzuna bakın.
  • Eğitim sonrası niceleme gibi teknikleri kullanarak dönüştürülen modelinizi nasıl optimize edeceğiniz hakkında rehberlik için optimizasyona genel bakış bölümüne bakın.
  • Modellerinize nasıl meta veri ekleyeceğinizi öğrenmek için Meta veri eklemeye genel bakış konusuna bakın. Meta veriler, kod oluşturucular tarafından kullanılabilen bilgilerin yanı sıra modelinizin açıklamasının diğer kullanımlarına da olanak tanır.