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

اندازه دودویی TensorFlow Lite را کاهش دهید

بررسی اجمالی

هنگام استقرار مدل هایی برای برنامه های کاربردی برای یادگیری دستگاه (ODML) ، مهم است که از حافظه محدود موجود در دستگاه های تلفن همراه آگاه باشید. اندازه های باینری مدل با تعداد گزینه های مورد استفاده در مدل ارتباط نزدیکی دارند. TensorFlow Lite شما را قادر می سازد با استفاده از ساختهای انتخابی ، اندازه های باینری مدل را کاهش دهید. انتخابی باعث می شود عملیات استفاده نشده در مجموعه مدل شما وجود داشته باشد و فقط با زمان اجرا و هسته های مورد نیاز برای اجرای مدل روی دستگاه تلفن همراه خود ، یک کتابخانه جمع و جور تولید کند.

ساخت انتخابی در سه كتابخانه عملیاتی زیر اعمال می شود.

  1. TensorFlow Lite ساخته شده در کتابخانه ops
  2. گزینه های سفارشی TensorFlow Lite
  3. کتابخانه TensorFlow ops را انتخاب کنید

در جدول زیر تأثیر ساخت های انتخابی برای برخی موارد استفاده معمولی نشان داده شده است:

نام مدل دامنه معماری هدف اندازه (های) پرونده AAR
Mobilenet_1.0_224 (شناور) طبقه بندی تصویر armeabi-v7a tensorflow-lite.aar (296،635 بایت)
arm64-v8a tensorflow-lite.aar (382،892 بایت)
ادویه استخراج زمین صدا armeabi-v7a tensorflow-lite.aar (375،813 بایت)
tensorflow-lite-select-tf-ops.aar (1،676،380 بایت)
arm64-v8a tensorflow-lite.aar (421.826 بایت)
tensorflow-lite-select-tf-ops.aar (2،298،630 بایت)
i3d-kinetics-400 طبقه بندی فیلم armeabi-v7a tensorflow-lite.aar (240،085 بایت)
tensorflow-lite-select-tf-ops.aar (1،708،597 بایت)
arm64-v8a tensorflow-lite.aar (273،713 بایت)
tensorflow-lite-select-tf-ops.aar (2،339،697 بایت)

مشکلات / محدودیتهای شناخته شده

  1. Selective Build for C API و نسخه iOS در حال حاضر پشتیبانی نمی شود.

انتخابی TensorFlow Lite را با Bazel بسازید

در این بخش فرض می شود که شما کدهای منبع TensorFlow را بارگیری کرده اید و محیط توسعه محلی را برای Bazel تنظیم کرده اید.

فایلهای AAR را برای پروژه Android بسازید

با تهیه مسیرهای فایل مدل خود می توانید TARSORFlow Lite AAR های سفارشی را به شرح زیر بسازید.

sh tensorflow/lite/tools/build_aar.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a

دستور فوق پرونده AAR bazel-bin/tmp/tensorflow-lite.aar برای bazel-bin/tmp/tensorflow-lite.aar Lite برای bazel-bin/tmp/tensorflow-lite.aar های داخلی و سفارشی تولید می کند. و به صورت اختیاری ، اگر مدل های شما حاوی گزینه TensorFlow است ، پرونده aar bazel bazel-bin/tmp/tensorflow-lite-select-tf-ops.aar کند. توجه داشته باشید که این یک AAR "چاق" با چندین معماری متفاوت ایجاد می کند. اگر به همه آنها احتیاج ندارید ، از زیر مجموعه های مناسب برای محیط استقرار خود استفاده کنید.

استفاده پیشرفته: با گزینه های دلخواه بسازید

اگر مدلهای Tensorflow Lite را با گزینه های سفارشی تهیه کرده اید ، می توانید با اضافه کردن پرچم های زیر به دستور build آنها را بسازید:

sh tensorflow/lite/tools/build_aar.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a \
  --tflite_custom_ops_srcs=/e/f/file1.cc,/g/h/file2.h \
  --tflite_custom_ops_deps=dep1,dep2

پرچم tflite_custom_ops_srcs حاوی پرونده های منبع از گزینه های سفارشی شما است و پرچم tflite_custom_ops_deps شامل وابستگی هایی برای ساختن این فایل های منبع است. توجه داشته باشید که این وابستگی ها باید در repo TensorFlow وجود داشته باشند.

به صورت انتخابی TensorFlow Lite را با Docker بسازید

در این بخش فرض می شود که شما Docker را روی دستگاه محلی خود نصب کرده اید و پرونده docker TensorFlow Lite را ساخته اید .

فایلهای AAR را برای پروژه Android بسازید

اسکریپت ساخت با Docker را با اجرا بارگیری کنید:

curl -o build_aar_with_docker.sh \
  https://raw.githubusercontent.com/tensorflow/tensorflow/master/tensorflow/lite/tools/build_aar_with_docker.sh &&
chmod +x build_aar_with_docker.sh

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

sh build_aar_with_docker.sh \
  --input_models=/a/b/model_one.tflite,/c/d/model_two.tflite \
  --target_archs=x86,x86_64,arm64-v8a,armeabi-v7a \
  --checkpoint=master

پرچم checkpoint یک تعهد ، شعبه یا برچسب repo TensorFlow است که می خواهید قبل از ساخت کتابخانه آن را پرداخت کنید. دستور فوق پرونده AAR tensorflow-lite.aar برای tensorflow-lite.aar Lite داخلی داخلی و گزینه های دلخواه تولید می کند و به صورت اختیاری فایل AAR tensorflow-lite-select-tf-ops.aar برای انتخاب tensorflow-lite-select-tf-ops.aar در فهرست اصلی خود انتخاب می کند.

پرونده های AAR را به پروژه اضافه کنید

پرونده های AAR را با وارد کردن مستقیم AAR به پروژه خود یا با انتشار AAR سفارشی به مخزن محلی Maven خود اضافه کنید . توجه داشته باشید که در صورت تولید ، باید فایلهای AAR را برای tensorflow-lite-select-tf-ops.aar اضافه کنید.