Android için geliştirme araçları

LiteRT, modelleri Android'e entegre etmek için çeşitli araçlar sunar. Bu sayfada, ve Cotlin, Java ve C++ programlarının yanı sıra Android Studio'ya gidin.

Kotlin ve Java ile geliştirme araçları

Aşağıdaki bölümlerde, Google Etiket Yöneticisi'nde kullanılan LiteRT kotlin ve Java dilleri.

LiteRT kitaplığı

Şu adreste barındırılan AAR'yi ekleyerek Android uygulamanızdaki LiteRT kitaplığını kullanın: MavenCentral nasıl kullanacağınızı göstereceğim.

Bunu build.gradle bağımlılıklarınızda aşağıdaki şekilde belirtebilirsiniz:

dependencies {
    ...
    implementation 'com.google.ai.edge.litert:+'
}

repositories {
    ...
    google()
}

Gecelik anlık görüntüler kullanıyorsanız Sonatype anlık görüntüsünü eklediğinizden emin olun. repository'yi projenize ekleyebilirsiniz.

Bu AAR, tüm Android cihazları için ABI'ler. Reklam öğesinin boyutunu yalnızca desteklemeniz gereken ABI'leri ekleyerek uygulamanızın ikili programını oluşturun.

Belirli bir donanım hedeflemiyorsanız x86, x86_64 ve ve arm32 ABI'ler kullanılır. Bunu aşağıdaki Gradle ile yapılandırabilirsiniz: yapılandırma. Özellikle yalnızca armeabi-v7a ve arm64-v8a, ve çoğu modern Android cihazı kapsamalıdır.

android {
    defaultConfig {
        ndk {
            abiFilters 'armeabi-v7a', 'arm64-v8a'
        }
    }
}

abiFilters hakkında daha fazla bilgi edinmek için Android'e bakın Android NDK'daki ABI'ler belgelerinden faydalanabilirsiniz.

LiteRT Destek Kitaplığı

LiteRT Android Destek Kitaplığı, modelleri entegre etmeyi kolaylaştırır uygulamanıza ekleyin. Ham girdinin dönüştürülmesine yardımcı olan üst düzey API'ler sunar. ve modelin gerekli kıldığı bir biçime dönüştürmeyi ve modelin çıktısını gereken ortak metin miktarını azaltır.

Giriş ve çıkışlar için resim ve resim gibi yaygın veri biçimlerini destekler. dizi'dir. Ayrıca, kalite standartları gibi görevleri gerçekleştiren yeniden boyutlandırma ve kırpma gibi işlemler için kullanılır.

LiteRT'i ekleyerek Android uygulamanızda Destek Kitaplığı'nı kullanma Şu adreste barındırılan Destek Kitaplığı AAR'si: MavenCentral.

Bunu build.gradle bağımlılıklarınızda aşağıdaki şekilde belirtebilirsiniz:

dependencies {
    implementation 'com.google.ai.edge.litert:litert-support:+'
}

Gecelik anlık görüntüler kullanıyorsanız Sonatype anlık görüntüsünü eklediğinizden emin olun. repository'yi projenize ekleyebilirsiniz.

Nasıl başlayacağınıza ilişkin talimatlar için LiteRT Android Desteği'ne bakın. Kitaplık.

Android Studio'yu kullanma

Yukarıda açıklanan geliştirme kitaplıklarına ek olarak Android Studio da aşağıda açıklandığı gibi LiteRT modellerinin entegrasyonu için destek sağlar.

Android Studio ML Model Bağlama

Android Studio 4.1 ve sonraki sürümlerindeki ML Model Bağlama özelliği şunları yapmanıza olanak tanır: .tflite model dosyasını mevcut Android uygulamanıza aktarıp arayüz sınıflarını kullanarak kodunuzu bir modelle entegre etmenizi kolaylaştırır.

LiteRT modelini içe aktarmak için:

  1. LiteRT modelini kullanmak istediğiniz modülü sağ tıklayın veya Dosya > Yeni > Diğer > LiteRT Modeli.

  2. LiteRT dosyanızın konumunu seçin. Aracın ML Modeli bağlama ile modülün bağımlılığını yapılandırır ve otomatik olarak Android modülünüzün build.gradle dosyasına gerekli tüm bağımlılıkları ekler.

  3. İç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ışı da dahil olmak üzere modeli açıklayan bir ekran gösteriyor tensörler.

  4. Modeli kullanmaya başlamak için Kotlin veya Java'yı seçin, kodu kopyalayıp buraya yapıştırın Örnek Kod bölümündeki

TensorFlow'u çift tıklayarak model bilgileri ekranına dönebilirsiniz Android Studio'da ml dizinindeki basit model. Daha fazla bilgi için Bunun için Android Studio'nun Modle Binding özelliğini kullanın. yayınlamak notlar ekleyin. Android Studio'da model bağlamayı kullanmaya genel bakış için şu kod örneğine bakın: talimatları inceleyin.

C ve C++ ile derleme araçları

LiteRT için C ve C++ kitaplıkları genel olarak şu kullanıcılara yöneliktir: Android Yerel Geliştirme Kiti'ni (NDK) kullanan geliştiriciler. Uygulamanızı NDK ile oluşturursanız LiteRT'i C++ üzerinden kullanmanın iki yolu vardır:

LiteRT C API'si

NDK kullanan geliştiriciler için bu API'nin kullanılması önerilen yaklaşımdır. Şu adreste barındırılan LiteRT AAR'yi indirin: MavenCentral dosyasını tensorflow-lite-*.zip olarak yeniden adlandırın ve sıkıştırılmış dosyayı açın. Dönüşüme dahil etmek için headers/tensorflow/lite/ ve headers/tensorflow/lite/c/ içindeki başlık dosyaları ve ilgili libtensorflowlite_jni.so dinamik kitaplığını NDK projenizde jni/ klasörü.

c_api.h başlık dosyası, LiteRT C'nin kullanımıyla ilgili temel dokümanları içerir API'ye gidin.

LiteRT C++ API'si

LiteRT'yi C++ API aracılığıyla kullanmak istiyorsanız kitaplıklar:

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ı almanın kolay bir yolu yoktur. Bu nedenle, TensorFlow'dan tensorflow/lite/ içindeki tüm başlık dosyalarını dahil etmeniz gerekir. depodur. Ayrıca, FlatBuffers ve Abseil.