TensorFlow Lite, modelleri Android uygulamalarına entegre etmek için çeşitli araçlar sunar. Bu sayfada Kotlin, Java ve C++ ile uygulama oluştururken kullanılacak geliştirme araçları ve Android Studio'da TensorFlow Lite geliştirme desteği açıklanmaktadır.
Kotlin ve Java ile derleme araçları
Aşağıdaki bölümlerde TensorFlow Lite için Kotlin ve Java dillerini kullanan geliştirme araçları açıklanmaktadır.
TensorFlow Lite kitaplığı
MavenCentral'da barındırılan AAR'yi geliştirme projenize ekleyerek Android uygulamanızda TensorFlow Lite kitaplığını kullanın.
Bunu build.gradle
bağımlılıklarınızda aşağıdaki gibi belirtebilirsiniz:
dependencies {
implementation 'org.tensorflow:tensorflow-lite:+'
}
Gecelik anlık görüntüler kullanıyorsanız projenize Sonatype anlık görüntü deposunu eklediğinizden emin olun.
Bu AAR, tüm Android ABI'leri için ikili programlar içerir. Yalnızca desteklemeniz gereken ABI'leri ekleyerek uygulamanızın ikili programının boyutunu azaltabilirsiniz.
Belirli bir donanımı hedeflemiyorsanız çoğu durumda x86
, x86_64
ve arm32
ABI'lerini atlamalısınız. Bunu aşağıdaki Gradle yapılandırmasıyla yapılandırabilirsiniz. Özellikle yalnızca armeabi-v7a
ve arm64-v8a
içerir ve modern Android cihazların çoğunu kapsar.
android {
defaultConfig {
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
}
}
abiFilters
hakkında daha fazla bilgi edinmek için Android NDK belgelerindeki Android ABI'leri bölümüne bakın.
TensorFlow Lite Destek Kitaplığı
TensorFlow Lite Android Destek Kitaplığı, modelleri uygulamanıza entegre etmenizi kolaylaştırır. Ham giriş verilerini modelin gerektirdiği biçime dönüştürmeye ve model çıktısını yorumlamaya yardımcı olarak gereken ortak kod miktarını azaltmaya yardımcı olan üst düzey API'ler sağlar.
Resimler ve diziler dahil olmak üzere giriş ve çıkışlar için yaygın veri biçimlerini destekler. Ayrıca, resim yeniden boyutlandırma ve kırpma gibi görevleri gerçekleştiren işlem öncesi ve sonrası işlem birimleri sağlar.
TensorFlow Lite MavenCentral'da barındırılan Destek Kitaplığı AAR'sini ekleyerek Android uygulamanızda Destek Kitaplığı'nı kullanın.
Bunu build.gradle
bağımlılıklarınızda aşağıdaki gibi belirtebilirsiniz:
dependencies {
implementation 'org.tensorflow:tensorflow-lite-support:+'
}
Gecelik anlık görüntüler kullanıyorsanız projenize Sonatype anlık görüntü deposunu eklediğinizden emin olun.
Kullanmaya başlama talimatları için TensorFlow Lite Android Destek Kitaplığı'na bakın.
Kitaplıklar için minimum Android SDK sürümü
Kitaplık | minSdkVersion |
Cihaz Gereksinimleri |
---|---|---|
tensorflow-lite | 21 | - |
tensorflow-lite-gpu | 21 | GLES 3.1 veya OpenCL (genellikle API 21 ve sonraki sürümlerde kullanılabilir) |
tensorflow-lite-support | 21 | - |
tensorflow-lite-metadata | 21 | - |
Android Studio'yu kullanma
Android Studio, yukarıda açıklanan geliştirme kitaplıklarının yanı sıra aşağıda açıklandığı gibi TensorFlow Lite modellerini entegre etme desteği de sağlar.
Android Studio ML Modeli Bağlama
Android Studio 4.1 ve sonraki sürümlerin ML Model Bağlama özelliği .tflite
model dosyalarını mevcut Android uygulamanıza aktarmanıza ve kodunuzu bir modelle entegre etmeyi kolaylaştırmak için arayüz sınıfları oluşturmanıza olanak tanır.
TensorFlow Lite (TFLite) modelini içe aktarmak için:
TFLite modelini kullanmak istediğiniz modülü sağ tıklayın veya Dosya > Yeni > Diğer > TensorFlow Lite Modeli'ni tıklayın.
TensorFlow Lite dosyanızın konumunu seçin. Aracın, modülün bağımlılığını ML Modeli bağlaması ile yapılandırdığını ve gerekli tüm bağımlılıkları Android modülünüzün
build.gradle
dosyasına otomatik olarak eklediğini unutmayın.İçe aktarma işlemini başlatmak için
Finish
(Tamam) seçeneğini tıklayın. İçe aktarma işlemi tamamlandığında araç, giriş ve çıkış tensörleriyle birlikte modeli açıklayan bir ekran görüntüler.Modeli kullanmaya başlamak için Kotlin veya Java'yı seçin, kodu kopyalayıp Sample Code (Örnek Kod) bölümüne yapıştırın.
Android Studio'da ml
dizini altındaki TensorFlow Lite modelini çift tıklayarak model bilgileri ekranına dönebilirsiniz. Android Studio'nun Modle Binding özelliğini kullanma hakkında daha fazla bilgi için Android Studio sürüm notlarına bakın.
Android Studio'da model bağlamayı kullanmaya genel bakış için kod örneği instructions bakın.
C ve C++ ile derleme araçları
TensorFlow Lite için C ve C++ kitaplıkları, temel olarak uygulamalarını oluşturmak için Android Yerel Geliştirme Kiti'ni (NDK) kullanan geliştiricilere yöneliktir. Uygulamanızı NDK ile derliyorsanız TFLite'ı C++ ile kullanmanın iki yolu vardır:
TFLite C API'sı
NDK kullanan geliştiriciler için bu API'nin kullanılması önerilen yaklaşımdır.
MavenCentral'da barındırılan TensorFlow Lite AAR dosyasını indirin, tensorflow-lite-*.zip
olarak yeniden adlandırın ve dosyanın sıkıştırmasını açın. Dört başlık dosyasını headers/tensorflow/lite/
ve headers/tensorflow/lite/c/
klasörlerine, ilgili libtensorflowlite_jni.so
dinamik kitaplığı ise NDK projenizdeki jni/
klasörüne eklemeniz gerekir.
c_api.h
başlık dosyası, TFLite C API'nin kullanımıyla ilgili temel belgeleri içerir.
TFLite C++ API'si
TFLite'ı C++ API üzerinden kullanmak istiyorsanız C++ paylaşılan kitaplıkları oluşturabilirsiniz:
32bit armeabi-v7a:
bazel build -c opt --config=android_arm //tensorflow/lite:libtensorflowlite.so
64bit arm64-v8a:
bazel build -c opt --config=android_arm64 //tensorflow/lite:libtensorflowlite.so
Şu anda, gerekli tüm başlık dosyalarını ayıklamanın doğrudan bir yolu yoktur. Bu nedenle, TensorFlow deposundan tensorflow/lite/
içindeki tüm başlık dosyalarını dahil etmeniz gerekir. Ayrıca, FlatBuffers ve Abseil'den başlık dosyalarına da ihtiyacınız olacaktır.