TensorFlow Lite ve TensorFlow operatör uyumluluğu

TensorFlow Lite, yaygın çıkarım modellerinde kullanılan bir dizi TensorFlow işlemini destekler. TensorFlow Lite Optimizing Converter tarafından işlendiklerinden, bu işlemler, desteklenen işlemler TensorFlow Lite muadilleriyle eşleştirilmeden önce çıkarılabilir veya birleştirilebilir.

TensorFlow Lite yerleşik operatör kitaplığı yalnızca sınırlı sayıda TensorFlow operatörünü desteklediğinden, her model dönüştürülebilir değildir. Desteklenen işlemler için bile, performans nedenlerinden ötürü bazen çok özel kullanım modelleri beklenir. Gelecekteki TensorFlow Lite sürümlerinde desteklenen işlemler dizisini genişletmeyi umuyoruz.

TensorFlow Lite ile kullanılabilecek bir TensorFlow modelinin nasıl oluşturulacağını anlamanın en iyi yolu, bu sürecin getirdiği sınırlamaların yanı sıra işlemlerin nasıl dönüştürüldüğünü ve optimize edildiğini dikkatlice düşünmektir.

Desteklenen türler

Çoğu TensorFlow Lite işlemi hem kayan nokta ( float32 ) hem de nicelleştirilmiş ( uint8 , int8 ) çıkarımı int8 , ancak çoğu işlem tf.float16 ve dizeler gibi diğer türler için henüz yoktur.

İşlemlerin farklı versiyonlarını kullanmanın yanı sıra, kayan noktalı ve nicelleştirilmiş modeller arasındaki diğer fark, dönüştürülme şeklidir. Nicelenmiş dönüştürme, tensörler için dinamik aralık bilgisi gerektirir. Bu, model eğitimi sırasında "sahte niceleme", bir kalibrasyon veri seti aracılığıyla menzil bilgisi alma veya "anında" menzil tahmini yapmayı gerektirir. Nicelemeye bakın.

Desteklenen işlemler ve kısıtlamalar

TensorFlow Lite, bazı sınırlamalarla TensorFlow işlemlerinin bir alt kümesini destekler. İşlemlerin ve sınırlamaların tam listesi için TF Lite Ops sayfasına bakın .

Basit dönüşümler, sabit katlama ve kaynaştırma

Bir dizi TensorFlow işlemi, doğrudan muadili olmamasına rağmen TensorFlow Lite tarafından işlenebilir. Bu, grafikten kolayca çıkarılabilen ( tf.identity ), tensörlerle değiştirilebilen ( tf.placeholder ) veya daha karmaşık işlemlerle birleştirilebilen ( tf.nn.bias_add ) işlemler için tf.nn.bias_add . Desteklenen bazı işlemler bile bazen bu işlemlerden biriyle kaldırılabilir.

Aşağıda, genellikle grafikten kaldırılan TensorFlow işlemlerinin kapsamlı olmayan bir listesi verilmiştir:

Deneysel İşlemler

Aşağıdaki TensorFlow Lite işlemleri mevcuttur ancak özel modeller için hazır değildir:

  • CALL
  • CONCAT_EMBEDDINGS
  • CUSTOM
  • EMBEDDING_LOOKUP_SPARSE
  • HASHTABLE_LOOKUP
  • LSH_PROJECTION
  • SKIP_GRAM
  • SVDF