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

شروع سریع Android

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

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

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

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

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

ساخت در Android Studio

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

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

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

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

از اتصال مدل Android Studio ML استفاده کنید

برای وارد کردن یک مدل TensorFlow Lite (TFLite):

  1. روی ماژولی که می خواهید از مدل TFLite استفاده کنید راست کلیک کنید یا روی File ، سپس New > Other > TensorFlow Lite Model برای دسترسی به قابلیت وارد کردن TensorFlow Lite ، روی منوها کلیک راست کنید

  2. مکان فایل TFLite خود را انتخاب کنید. توجه داشته باشید که ابزار وابستگی ماژول را از طرف شما با اتصال ML Model پیکربندی می کند و تمام وابستگی ها به طور خودکار در پرونده build.gradle ماژول Android شما قرار می build.gradle .

    اختیاری: اگر می خواهید از شتاب GPU استفاده کنید ، کادر تأیید دوم را برای وارد کردن GPU TensorFlow انتخاب کنید. گفتگوی واردات برای مدل TFLite

  3. روی Finish کلیک کنید.

  4. بعد از موفقیت در وارد کردن ، صفحه زیر ظاهر می شود. برای شروع استفاده از مدل ، Kotlin یا Java را انتخاب کنید ، کد را در بخش Sample Code کپی و جایگذاری کنید. با دوبار کلیک بر روی مدل TFLite در فهرست ml در Android Studio ، می توانید به این صفحه بازگردید. صفحه جزئیات مدل در Android Studio

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

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

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

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

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

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

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

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

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

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

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

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

برای شروع ، دستورالعملهای موجود در کتابخانه پشتیبانی 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-SNAPSHOT'
}

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

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

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

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

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

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

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

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

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

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

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