این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

سریعترین برنامه اندرویدی

برای شروع کار با TensorFlow Lite در Android ، توصیه می کنیم مثال زیر را بررسی کنید.

مثال طبقه بندی تصویر Android

برای توضیح کد منبع ، طبقه بندی تصویر Android TensorFlow Lite را بخوانید.

این برنامه مثال از طبقه بندی تصویر برای طبقه بندی مداوم هر آنچه از دوربین پشت دستگاه استفاده می کند ، استفاده می کند. برنامه می تواند یا بر روی دستگاه یا شبیه ساز اجرا شود.

استنتاج با استفاده از TensorFlow Lite Java API و TensorFlow Lite Android Library کتابخانه انجام می شود . برنامه نسخه ی نمایشی ، فریم ها را در زمان واقعی طبقه بندی می کند ، و بالاترین طبقه بندی احتمالی را نشان می دهد. این اجازه می دهد تا کاربر را به بین یک نقطه شناور و یا انتخاب کوانتیده مدل، تعداد موضوع را انتخاب کنید، و تصمیم بگیرید که آیا برای اجرا بر روی CPU، GPU، و یا از طریق NNAPI .

در Android Studio ساخت

برای ساختن مثال در Android Studio ، دستورالعمل های موجود در README.md را دنبال کنید.

برنامه Android خود را ایجاد کنید

برای شروع سریع نوشتن کد Android خود ، توصیه می کنیم از عنوان طبقه بندی تصویر Android خود به عنوان نقطه شروع استفاده کنید.

بخش های زیر حاوی اطلاعات مفیدی برای همکاری با TensorFlow Lite در Android است.

از TensorFlow Lite Task Library استفاده کنید

TensorFlow Lite Task Library شامل مجموعه ای از کتابخانه های خاص و با کاربرد آسان برای توسعه دهندگان برنامه برای ایجاد تجربیات ML با TFLite است. رابط های مدل خارج از جعبه بهینه سازی شده برای کارهای یادگیری ماشین محبوب ، مانند طبقه بندی تصویر ، سؤال و پاسخ ، و غیره رابط های مدل را فراهم می کند به طور خاص برای هر کار طراحی شده است تا به بهترین عملکرد و قابلیت استفاده برسد. Task Library به صورت متقابل کار می کند و در Java ، C ++ و Swift (به زودی) پشتیبانی می شود.

برای استفاده از کتابخانه پشتیبانی در برنامه Android خود ، توصیه می کنیم به ترتیب از AAR میزبان در JCenter برای کتابخانه Task Vision و Task Text استفاده کنید .

می توانید این مورد را در وابستگی های build.gradle خود به شرح زیر مشخص کنید:

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

برای جزئیات بیشتر به مقاله مقدماتی در TensorFlow Lite Task Library مراجعه کنید.

از کتابخانه پشتیبانی Android TensorFlow Lite استفاده کنید

کتابخانه پشتیبانی Android TensorFlow Lite ادغام مدل ها در برنامه شما را آسان تر می کند. این برنامه API های سطح بالایی را ارائه می دهد که به تبدیل داده های ورودی خام به فرم مورد نیاز مدل کمک می کنند و خروجی مدل را تفسیر می کنند و میزان کد boilerplate مورد نیاز را کاهش می دهند.

این قالب از داده های متداول برای ورودی ها و خروجی ها ، از جمله تصاویر و آرایه ها پشتیبانی می کند. همچنین واحدهای قبل و بعد از پردازش را انجام می دهد که وظایفی مانند تغییر اندازه تصویر و برداشت را انجام می دهند.

برای استفاده از کتابخانه پشتیبانی در برنامه Android خود ، توصیه می کنیم از کتابخانه پشتیبانی TensorFlow Lite AAR که در JCenter میزبان است استفاده کنید .

می توانید این مورد را در وابستگی های build.gradle خود به شرح زیر مشخص کنید:

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

برای شروع کار ، دستورالعمل های موجود در کتابخانه پشتیبانی Android TensorFlow Lite را دنبال کنید.

از TensorFlow Lite AAR از JCenter استفاده کنید

برای استفاده از TensorFlow Lite در برنامه Android خود ، توصیه می کنیم از TensorFlow Lite AAR میزبان در JCenter استفاده کنید .

می توانید این مورد را در وابستگی های build.gradle خود به شرح زیر مشخص کنید:

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

این AAR شامل باینری برای کلیه ABI های Android است . می توانید فقط با وارد کردن ABI هایی که برای پشتیبانی از آن استفاده می کنید ، اندازه دودویی برنامه خود را کاهش دهید.

توصیه می کنیم بیشتر توسعه دهندگان از ABI های x86 ، x86_64 و arm32 . این کار را می توان با پیکربندی Gradle زیر ، که به طور خاص فقط armeabi-v7a و arm64-v8a ، انجام داد که باید اکثر دستگاه های مدرن اندرویدی را پوشش دهد.

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

برای کسب اطلاعات بیشتر در مورد abiFilters ، به NdkOptions در مستندات Android Gradle مراجعه کنید.

برنامه Android را با استفاده از C ++ بسازید

اگر برنامه خود را با NDK بسازید دو روش برای استفاده از TFLite از طریق C ++ وجود دارد:

از TFLite C API استفاده کنید

این روش پیشنهادی است. TensorFlow Lite AAR که در JCenter میزبان است را بارگیری کنید ، آنرا به tensorflow-lite-*.zip تغییر نام دهید و آن را از حالت فشرده خارج کنید. شما باید چهار پرونده هدر را در قسمت headers/tensorflow/lite/ و headers/tensorflow/lite/c/ پوشه و کتابخانه دینامیکی libtensorflowlite_jni.so مربوطه را در jni/ پوشه در پروژه NDK خود jni/ کنید.

پرونده هدر c_api.h شامل اسناد اساسی در مورد استفاده از TFLite C API است.

از TFLite C ++ API استفاده کنید

اگر می خواهید از طریق API C ++ از TFLite استفاده کنید ، می توانید کتابخانه های مشترک 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

در حال حاضر ، هیچ روش ساده ای برای استخراج کلیه پرونده های هدر مورد نیاز وجود ندارد ، بنابراین باید کلیه پرونده های هدر را در tensorflow/lite/ از مخزن tensorflow/lite/ کنید. علاوه بر این ، به فایلهای سربرگ از FlatBuffers و Abseil احتیاج خواهید داشت .