TensorFlow Lite

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

ویژگی های کلیدی

  • بهینه‌سازی شده برای یادگیری ماشین روی دستگاه ، با پرداختن به 5 محدودیت کلیدی: تأخیر (هیچ سفر رفت و برگشتی به سرور وجود ندارد)، حریم خصوصی (هیچ اطلاعات شخصی از دستگاه خارج نمی‌شود)، اتصال (اتصال به اینترنت لازم نیست)، اندازه (مدل کاهش‌یافته و اندازه باینری) و مصرف انرژی (استنتاج کارآمد و عدم اتصال به شبکه).
  • پشتیبانی از پلتفرم های متعدد ، پوشش دستگاه های اندروید و iOS ، لینوکس جاسازی شده و میکروکنترلرها .
  • پشتیبانی از زبان های متنوع ، که شامل جاوا، سوئیفت، Objective-C، C++ و Python می شود.
  • عملکرد بالا ، با شتاب سخت افزاری و بهینه سازی مدل .
  • مثال‌های سرتاسری ، برای کارهای رایج یادگیری ماشین مانند طبقه‌بندی تصویر، تشخیص اشیا، تخمین وضعیت، پاسخ‌گویی به سؤال، طبقه‌بندی متن و غیره در چندین پلتفرم.

گردش کار توسعه

راهنمای زیر هر مرحله از گردش کار را طی می کند و پیوندهایی به دستورالعمل های بیشتر ارائه می دهد:

1. یک مدل TensorFlow Lite ایجاد کنید

یک مدل TensorFlow Lite در یک فرمت قابل حمل کارآمد خاص به نام FlatBuffers نشان داده شده است (شناسایی با پسوند فایل tflite .). این مزیت‌های متعددی نسبت به فرمت مدل بافر پروتکل TensorFlow مانند اندازه کاهش یافته (جایگاه کد کوچک) و استنتاج سریع‌تر (دسترسی مستقیم به داده‌ها بدون مرحله تجزیه/باز کردن بسته‌بندی اضافی) ارائه می‌کند که TensorFlow Lite را قادر می‌سازد تا به طور مؤثر در دستگاه‌هایی با منابع محاسباتی و حافظه محدود اجرا شود. .

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

شما می توانید یک مدل TensorFlow Lite را به روش های زیر ایجاد کنید:

  • از یک مدل TensorFlow Lite موجود استفاده کنید: برای انتخاب مدل موجود به مثال‌های TensorFlow Lite مراجعه کنید. مدل ها ممکن است حاوی ابرداده باشند یا نباشند.

  • ایجاد یک مدل TensorFlow Lite: از TensorFlow Lite Model Maker برای ایجاد یک مدل با مجموعه داده سفارشی خود استفاده کنید. به طور پیش فرض، همه مدل ها حاوی ابرداده هستند.

  • تبدیل یک مدل TensorFlow به یک مدل TensorFlow Lite: از مبدل TensorFlow Lite برای تبدیل یک مدل TensorFlow به یک مدل TensorFlow Lite استفاده کنید. در طول تبدیل، می‌توانید بهینه‌سازی‌هایی مانند کوانتیزه کردن را برای کاهش اندازه و تأخیر مدل با حداقل یا بدون افت دقت اعمال کنید. به‌طور پیش‌فرض، همه مدل‌ها حاوی ابرداده نیستند.

2. استنتاج را اجرا کنید

استنتاج به فرآیند اجرای یک مدل TensorFlow Lite بر روی دستگاه برای پیش‌بینی بر اساس داده‌های ورودی اشاره دارد. بر اساس نوع مدل می توانید استنتاج را به روش های زیر اجرا کنید:

  • مدل‌های بدون ابرداده : از TensorFlow Lite Interpreter API استفاده کنید. پشتیبانی از چندین پلتفرم و زبان مانند جاوا، سوئیفت، سی پلاس پلاس، Objective-C و پایتون.

  • مدل‌های دارای ابرداده : می‌توانید با استفاده از کتابخانه وظیفه TensorFlow Lite از APIهای خارج از جعبه استفاده کنید یا با کتابخانه پشتیبانی TensorFlow Lite خطوط لوله استنتاج سفارشی بسازید. در دستگاه‌های اندرویدی، کاربران می‌توانند به‌طور خودکار با استفاده از Android Studio ML Model Binding یا TensorFlow Lite Code Generator ، پوشه‌های کد تولید کنند. فقط در جاوا (اندروید) پشتیبانی می شود در حالی که Swift (iOS) و C++ در حال انجام است.

در دستگاه‌های Android و iOS، می‌توانید عملکرد را با استفاده از شتاب سخت‌افزاری بهبود بخشید. در هر دو پلتفرم می‌توانید از نماینده GPU استفاده کنید، در اندروید می‌توانید از NNAPI Delegate (برای دستگاه‌های جدیدتر) یا Hexagon Delegate (در دستگاه‌های قدیمی‌تر) و در iOS می‌توانید از Core ML Delegate استفاده کنید. برای افزودن پشتیبانی از شتاب دهنده های سخت افزاری جدید، می توانید نماینده خود را تعریف کنید .

شروع کنید

می توانید بر اساس دستگاه مورد نظر خود به راهنماهای زیر مراجعه کنید:

محدودیت های فنی

  • همه مدل های TensorFlow را نمی توان به مدل های TensorFlow Lite تبدیل کرد ، به سازگاری اپراتور مراجعه کنید.

  • آموزش روی دستگاه پشتیبانی نشده است ، اما در نقشه راه ما وجود دارد.