Bantuan melindungi Great Barrier Reef dengan TensorFlow pada Kaggle Bergabung Tantangan

Panduan memulai Android

Untuk memulai TensorFlow Lite di Android, sebaiknya jelajahi contoh berikut.

Contoh klasifikasi gambar Android

Baca klasifikasi citra TensorFlow Lite Android untuk penjelasan dari kode sumber.

Contoh Aplikasi ini menggunakan klasifikasi citra untuk terus mengklasifikasikan apapun itu melihat dari kamera menghadap ke belakang perangkat. Aplikasi dapat berjalan baik pada perangkat atau emulator.

Inferensi dilakukan menggunakan API TensorFlow Lite Java dan Perpustakaan Dukungan Android TensorFlow Lite . Aplikasi demo mengklasifikasikan bingkai secara real-time, menampilkan klasifikasi teratas yang paling mungkin. Hal ini memungkinkan pengguna untuk memilih antara floating point atau terkuantisasi Model, pilih thread count, dan memutuskan apakah akan dijalankan pada CPU, GPU, atau melalui NNAPI .

Bangun di Android Studio

Untuk membangun contoh di Android Studio, ikuti petunjuk di README.md .

Buat aplikasi Android Anda sendiri

Untuk memulai dengan cepat menulis kode Android Anda sendiri, sebaiknya gunakan kami Android contoh klasifikasi citra sebagai titik awal.

Bagian berikut berisi beberapa informasi berguna untuk bekerja dengan TensorFlow Lite di Android.

Gunakan Pengikatan Model Android Studio ML

Untuk mengimpor model TensorFlow Lite (TFLite):

  1. Klik-kanan pada modul yang Anda ingin menggunakan model TFLite atau klik pada File , maka New > Other > TensorFlow Lite Model Menu klik kanan untuk mengakses fungsi impor TensorFlow Lite

  2. Pilih lokasi file TFLite Anda. Perhatikan bahwa perkakas akan mengkonfigurasi ketergantungan modul atas nama Anda dengan ML Model mengikat dan semua dependensi secara otomatis dimasukkan ke dalam modul Android Anda build.gradle berkas.

    Opsional: Pilih kotak centang kedua untuk mengimpor TensorFlow GPU jika Anda ingin menggunakan akselerasi GPU . Impor dialog untuk model TFLite

  3. Klik Finish .

  4. Layar berikut akan muncul setelah impor berhasil. Untuk mulai menggunakan model, pilih Kotlin atau Java, copy dan paste kode di bawah Sample Code bagian. Anda dapat kembali ke layar ini dengan mengklik ganda model TFLite bawah ml direktori di Android Studio. Halaman detail model di Android Studio

Gunakan Pustaka Tugas TensorFlow Lite

Pustaka Tugas TensorFlow Lite berisi kumpulan pustaka khusus tugas yang andal dan mudah digunakan bagi pengembang aplikasi untuk menciptakan pengalaman ML dengan TFLite. Ini menyediakan antarmuka model out-of-box yang dioptimalkan untuk tugas pembelajaran mesin populer, seperti klasifikasi gambar, pertanyaan dan jawaban, dll. Antarmuka model dirancang khusus untuk setiap tugas untuk mencapai kinerja dan kegunaan terbaik. Pustaka Tugas bekerja lintas platform dan didukung di Java, C++, dan Swift (segera hadir).

Untuk menggunakan Library Tugas di aplikasi Android, kami sarankan menggunakan AAR host di MavenCentral untuk Tugas Visi perpustakaan dan perpustakaan Task Text , masing-masing.

Anda dapat menentukan ini dalam build.gradle dependensi sebagai berikut:

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

Untuk menggunakan snapshot malam, pastikan bahwa Anda telah menambahkan Sonatype snapshot repositori .

Lihat pengenalan di TensorFlow Lite gambaran Tugas Perpustakaan untuk lebih jelasnya.

Gunakan Pustaka Dukungan Android TensorFlow Lite

Pustaka Dukungan Android TensorFlow Lite mempermudah pengintegrasian model ke dalam aplikasi Anda. Ini menyediakan API tingkat tinggi yang membantu mengubah data input mentah menjadi bentuk yang diperlukan oleh model, dan menginterpretasikan output model, mengurangi jumlah kode boilerplate yang diperlukan.

Ini mendukung format data umum untuk input dan output, termasuk gambar dan array. Ini juga menyediakan unit pra-dan pasca-pemrosesan yang melakukan tugas-tugas seperti mengubah ukuran gambar dan memotong.

Untuk menggunakan Perpustakaan Dukungan di aplikasi Android, kami sarankan menggunakan TensorFlow Lite Dukungan Perpustakaan AAR host di MavenCentral .

Anda dapat menentukan ini dalam build.gradle dependensi sebagai berikut:

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

Untuk menggunakan snapshot malam, pastikan bahwa Anda telah menambahkan Sonatype snapshot repositori .

Untuk memulai, ikuti petunjuk di Perpustakaan Dukungan Android TensorFlow Lite .

Gunakan TensorFlow Lite AAR dari MavenCentral

Untuk menggunakan TensorFlow Lite di aplikasi Android, kami sarankan menggunakan TensorFlow Lite AAR host di MavenCentral .

Anda dapat menentukan ini dalam build.gradle dependensi sebagai berikut:

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

Untuk menggunakan snapshot malam, pastikan bahwa Anda telah menambahkan Sonatype snapshot repositori .

AAR ini termasuk binari untuk semua ABI Android . Anda dapat mengurangi ukuran biner aplikasi hanya dengan menyertakan ABI yang perlu Anda dukung.

Kami merekomendasikan sebagian besar pengembang menghilangkan x86 , x86_64 , dan arm32 ABI. Hal ini dapat dicapai dengan konfigurasi Gradle berikut, yang secara khusus hanya mencakup armeabi-v7a dan arm64-v8a , yang harus mencakup sebagian besar perangkat Android modern.

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

Untuk mempelajari lebih lanjut tentang abiFilters , lihat NdkOptions dalam dokumentasi Android Gradle.

Bangun aplikasi Android menggunakan C++

Ada dua cara untuk menggunakan TFLite melalui C++ jika Anda membuat aplikasi dengan NDK:

Gunakan TFLite C API

Ini adalah pendekatan yang direkomendasikan. Download TensorFlow Lite AAR host di MavenCentral , mengganti nama ke tensorflow-lite-*.zip , Dan unzip itu. Anda harus menyertakan empat file header di headers/tensorflow/lite/ dan headers/tensorflow/lite/c/ folder dan relevan libtensorflowlite_jni.so perpustakaan dinamis dalam jni/ folder dalam proyek NDK Anda.

The c_api.h file header berisi dokumentasi dasar tentang menggunakan API TFLite C.

Gunakan TFLite C++ API

Jika Anda ingin menggunakan TFLite melalui C++ API, Anda dapat membuat pustaka bersama C++:

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

Saat ini, tidak ada cara mudah untuk mengekstrak semua file header yang dibutuhkan, sehingga Anda harus mencakup semua file header di tensorflow/lite/ dari repositori TensorFlow. Selain itu, Anda akan perlu file header dari FlatBuffers dan Abseil .

Versi SDK minimum dari TFLite

Perpustakaan minSdkVersion Persyaratan Perangkat
tensorflow-lite 19 Penggunaan NNAPI membutuhkan API 27+
tensorflow-lite-gpu 19 GLES 3.1 atau OpenCL (biasanya hanya tersedia di API 21+
tensorflow-lite-hexagon 19 -
dukungan tensorflow-lite 19 -
tensorflow-lite-tugas-visi 21 android.graphics.API terkait warna membutuhkan API 26+
tensorflow-lite-task-text 21 -
tensorflow-lite-task-audio 23 -
tensorflow-lite-metadata 19 -