Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Android hızlı başlangıç

Android'de TensorFlow Lite'ı kullanmaya başlamak için aşağıdaki örneği incelemenizi öneririz.

Android görüntü sınıflandırma örneği

Kaynak kodunun açıklaması için TensorFlow Lite Android görüntü sınıflandırmasını okuyun.

Bu örnek uygulama, cihazın arkaya bakan kamerasından gördüğü her şeyi sürekli olarak sınıflandırmak için görüntü sınıflandırmasını kullanır. Uygulama cihazda veya emülatörde çalışabilir.

Çıkarım, TensorFlow Lite Java API ve TensorFlow Lite Android Destek Kitaplığı kullanılarak gerçekleştirilir . Demo uygulaması kareleri gerçek zamanlı olarak sınıflandırarak en olası sınıflandırmaları gösterir. Kullanıcının kayan nokta veya nicelleştirilmiş model arasında seçim yapmasına, iş parçacığı sayısını seçmesine ve CPU, GPU veya NNAPI üzerinden çalışıp çalışmayacağına karar vermesine olanak tanır .

Android Studio'da oluşturun

Örneği Android Studio'da oluşturmak için README.md'deki talimatları izleyin.

Kendi Android uygulamanızı oluşturun

Hızlı bir şekilde kendi Android kodunuzu yazmaya başlamak için, başlangıç ​​noktası olarak Android görüntü sınıflandırma örneğimizi kullanmanızı öneririz.

Aşağıdaki bölümler, Android'de TensorFlow Lite ile çalışmak için bazı yararlı bilgiler içerir.

Android Studio ML Model Bağlamayı Kullanın

Bir TensorFlow Lite (TFLite) modelini içe aktarmak için:

  1. TFLite modelini kullanmak istediğiniz modüle sağ tıklayın veya File , ardından New > Other > TensorFlow Lite Model TensorFlow Lite içe aktarma işlevine erişmek için menülere sağ tıklayın

  2. TFLite dosyanızın konumunu seçin. build.gradle , ML Model bağlama ile modülün bağımlılığını sizin adınıza yapılandıracağını ve tüm bağımlılıkların otomatik olarak Android modülünüzün build.gradle dosyasına ekleneceğini unutmayın.

    İsteğe bağlı: GPU hızlandırmayı kullanmak istiyorsanız TensorFlow GPU'yu içe aktarmak için ikinci onay kutusunu seçin. TFLite modeli için içe aktarma iletişim kutusu

  3. Finish öğesine tıklayın.

  4. İçe aktarma başarılı olduktan sonra aşağıdaki ekran görünecektir. Modeli kullanmaya başlamak için Kotlin veya Java'yı seçin, kodu kopyalayıp Sample Code bölümüne Sample Code . Android Studio'da ml dizini altında bulunan TFLite modeline çift tıklayarak bu ekrana geri dönebilirsiniz. Android Studio'daki model ayrıntıları sayfası

TensorFlow Lite Görev Kitaplığını kullanın

TensorFlow Lite Görev Kitaplığı, uygulama geliştiricilerin TFLite ile makine öğrenimi deneyimleri oluşturmaları için bir dizi güçlü ve kullanımı kolay göreve özgü kitaplık içerir. Görüntü sınıflandırması, soru ve cevap gibi popüler makine öğrenimi görevleri için optimize edilmiş, kullanıma hazır model arabirimleri sağlar. Model arabirimleri, en iyi performansı ve kullanılabilirliği elde etmek için her görev için özel olarak tasarlanmıştır. Görev Kitaplığı, çapraz platformda çalışır ve Java, C ++ ve Swift'de desteklenir (çok yakında).

Destek Kitaplığını Android uygulamanızda kullanmak için, sırasıyla Görev Vizyon kitaplığı ve Görev Metni kitaplığı için JCenter'da barındırılan AAR'yi kullanmanızı öneririz.

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

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-task-vision:0.1.0'
    implementation 'org.tensorflow:tensorflow-lite-task-text:0.1.0'
}

Daha fazla ayrıntı için TensorFlow Lite Görev Kitaplığına genel bakıştaki girişe bakın.

TensorFlow Lite Android Destek Kitaplığını kullanın

TensorFlow Lite Android Destek Kitaplığı, modelleri uygulamanıza entegre etmeyi kolaylaştırır. Ham girdi verilerini modelin gerektirdiği forma dönüştürmeye yardımcı olan ve modelin çıktısını yorumlayarak gerekli standart kod miktarını azaltan üst düzey API'ler sağlar.

Görüntüler ve diziler dahil, girişler ve çıkışlar için ortak veri formatlarını destekler. Ayrıca, görüntüyü yeniden boyutlandırma ve kırpma gibi görevleri gerçekleştiren ön ve son işlem birimleri sağlar.

Destek Kitaplığını Android uygulamanızda kullanmak için, JCenter'da barındırılan TensorFlow Lite Destek Kitaplığı AAR'yi kullanmanızı öneririz .

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

dependencies {
    implementation 'org.tensorflow:tensorflow-lite-support:0.1.0'
}

Başlamak için TensorFlow Lite Android Destek Kitaplığı'ndaki talimatları izleyin.

JCenter'dan TensorFlow Lite AAR'ı kullanın

TensorFlow Lite'ı Android uygulamanızda kullanmak için, JCenter'da barındırılan TensorFlow Lite AAR'ı kullanmanızı öneririz .

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

dependencies {
    implementation 'org.tensorflow:tensorflow-lite:0.0.0-nightly-SNAPSHOT'
}

Bu AAR, tüm Android ABI'leri için ikili dosyalar içerir. Yalnızca desteklemeniz gereken ABI'leri dahil ederek uygulamanızın ikili dosyasının boyutunu azaltabilirsiniz.

Çoğu geliştiricinin x86 , x86_64 ve arm32 . Bu, özellikle yalnızca armeabi-v7a ve arm64-v8a armeabi-v7a ve çoğu modern Android cihazını kapsaması gereken aşağıdaki Gradle yapılandırmasıyla armeabi-v7a .

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

Hakkında daha fazla bilgi edinmek için abiFilters , bkz NdkOptions Android Gradle belgelerinde.

C ++ kullanarak Android uygulaması oluşturun

Uygulamanızı NDK ile oluşturuyorsanız, TFLite'ı C ++ üzerinden kullanmanın iki yolu vardır:

TFLite C API'sini kullanın

Önerilen yaklaşım budur. JCenter'da barındırılan TensorFlow Lite AAR'ı indirin, tensorflow tensorflow-lite-*.zip yeniden adlandırın ve açın. Sen dört başlık dosyaları içermelidir headers/tensorflow/lite/ ve headers/tensorflow/lite/c/ klasör ve ilgili libtensorflowlite_jni.so dinamik kütüphane jni/ senin NDK projesinde klasörü.

c_api.h başlık dosyası, TFLite C API kullanımıyla ilgili temel belgeleri içerir.

TFLite C ++ API'sini kullanın

TFLite'ı C ++ API aracılığıyla 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, gereken tüm başlık dosyalarını çıkarmanın kolay bir yolu yoktur, bu nedenle tüm başlık dosyalarını TensorFlow deposundan tensorflow/lite/ içine dahil etmeniz gerekir. Ayrıca, gelen başlık dosyalarını gerekecektir FlatBuffers ve Abseil .