TensorFlow Lite, geliştiricilerin modellerini mobil, gömülü ve uç cihazlarda çalıştırmasına yardımcı olarak cihaz üzerinde makine öğrenimi sağlayan bir araç setidir.
Ana Özellikler
- 5 temel kısıtlamayı ele alarak cihazda makine öğrenimi için optimize edilmiştir: gecikme (bir sunucuya gidiş-dönüş yoktur), gizlilik (cihazdan hiçbir kişisel veri çıkmaz), bağlantı (internet bağlantısı gerekli değildir), boyut (düşük model ve ikili boyut) ve güç tüketimi (verimli çıkarım ve ağ bağlantısı eksikliği).
- Android ve iOS cihazları, gömülü Linux ve mikro denetleyicileri kapsayan çoklu platform desteği .
- Java, Swift, Objective-C, C++ ve Python'u içeren çeşitli dil desteği .
- Donanım hızlandırma ve model optimizasyonu ile yüksek performans .
- Birden çok platformda görüntü sınıflandırma, nesne algılama, poz tahmini, soru yanıtlama, metin sınıflandırma vb. gibi yaygın makine öğrenimi görevleri için uçtan uca örnekler .
Geliştirme iş akışı
Aşağıdaki kılavuz, iş akışının her adımını açıklar ve daha fazla talimata bağlantılar sağlar:
1. Bir TensorFlow Lite modeli oluşturun
Bir TensorFlow Lite modeli, FlatBuffers ( .tflite dosya uzantısıyla tanımlanır) olarak bilinen özel ve verimli bir taşınabilir biçimde temsil edilir. Bu, TensorFlow'un protokol arabellek modeli formatına göre küçültülmüş boyut (küçük kod ayak izi) ve daha hızlı çıkarım (verilere ekstra bir ayrıştırma/açma adımı olmadan doğrudan erişilir) gibi çeşitli avantajlar sağlar ve bu da TensorFlow Lite'ın sınırlı bilgi işlem ve bellek kaynaklarına sahip cihazlarda verimli bir şekilde çalışmasını sağlar .
Bir TensorFlow Lite modeli, isteğe bağlı olarak, insan tarafından okunabilen model açıklamasına ve cihaz üzerinde çıkarım sırasında otomatik ön ve son işleme ardışık düzenlerinin oluşturulması için makine tarafından okunabilir verilere sahip meta verileri içerebilir. Daha fazla ayrıntı için Meta veri ekleme bölümüne bakın.
Aşağıdaki yollarla bir TensorFlow Lite modeli oluşturabilirsiniz:
Mevcut bir TensorFlow Lite modelini kullanın: Mevcut bir modeli seçmek için TensorFlow Lite Örneklerine bakın. Modeller meta veri içerebilir veya içermeyebilir.
Bir TensorFlow Lite modeli oluşturun: Kendi özel veri kümenizle bir model oluşturmak için TensorFlow Lite Model Maker'ı kullanın. Varsayılan olarak, tüm modeller meta veriler içerir.
Bir TensorFlow modelini bir TensorFlow Lite modeline dönüştürün: Bir TensorFlow modelini bir TensorFlow Lite modeline dönüştürmek için TensorFlow Lite Dönüştürücüyü kullanın. Dönüştürme sırasında, model boyutunu ve gecikmeyi minimum doğrulukta veya hiç kayıp olmadan azaltmak için niceleme gibi optimizasyonlar uygulayabilirsiniz. Varsayılan olarak, tüm modeller meta veri içermez.
2. Çıkarımı Çalıştır
Çıkarım , giriş verilerine dayalı tahminler yapmak için cihazda bir TensorFlow Lite modeli yürütme sürecini ifade eder. Model türüne göre çıkarımı aşağıdaki şekillerde çalıştırabilirsiniz:
Meta verisi olmayan modeller : TensorFlow Lite Yorumlayıcı API'sini kullanın. Java, Swift, C++, Objective-C ve Python gibi birden çok platformda ve dilde desteklenir.
Meta veri içeren modeller : TensorFlow Lite Görev Kitaplığı'nı kullanarak kullanıma hazır API'lerden yararlanabilir veya TensorFlow Lite Destek Kitaplığı ile özel çıkarım ardışık düzenleri oluşturabilirsiniz. Android cihazlarda kullanıcılar, Android Studio ML Model Binding veya TensorFlow Lite Code Generator kullanarak otomatik olarak kod sarmalayıcılar oluşturabilir. Swift (iOS) ve C++ çalışırken yalnızca Java (Android) üzerinde desteklenir.
Android ve iOS cihazlarda donanım hızlandırmayı kullanarak performansı artırabilirsiniz. Her iki platformda da GPU Delegesi kullanabilirsiniz, android'de NNAPI Delegesini (daha yeni cihazlar için) veya Hexagon Delegesini (eski cihazlarda) kullanabilirsiniz ve iOS'ta Core ML Delegesini kullanabilirsiniz. Yeni donanım hızlandırıcıları için destek eklemek için kendi temsilcinizi tanımlayabilirsiniz .
Başlamak
Hedef cihazınıza göre aşağıdaki kılavuzlara başvurabilirsiniz:
Android ve iOS: Android hızlı başlangıcını ve iOS hızlı başlangıcını keşfedin.
Gömülü Linux: Ahududu Pi ve Edge TPU'lu Coral cihazları gibi yerleşik cihazlar için Python hızlı başlangıcını veya ARM için C++ derleme talimatlarını keşfedin.
Mikrodenetleyiciler: Yalnızca birkaç kilobayt bellek içeren mikro denetleyiciler ve DSP'ler için TensorFlow Lite for Microcontrollers kitaplığını keşfedin.
Teknik kısıtlamalar
Tüm TensorFlow modelleri , TensorFlow Lite modellerine dönüştürülemez , bkz. Operatör uyumluluğu .
Desteklenmeyen cihaz içi eğitim , ancak Yol Haritamızda yer alıyor.