نقشه راه TensorFlow Lite

به روز شده: مه، 2021

موارد زیر نمایانگر سطح بالایی از نقشه راه ما است. باید توجه داشته باشید که این نقشه راه ممکن است در هر زمانی تغییر کند و ترتیب زیر نشان دهنده هیچ نوع اولویتی نیست.

ما نقشه راه خود را به چهار بخش کلیدی تقسیم می کنیم: قابلیت استفاده، عملکرد، بهینه سازی و قابلیت حمل. ما قویاً شما را تشویق می کنیم که در مورد نقشه راه ما نظر دهید و بازخورد خود را در گروه بحث TensorFlow Lite به ما ارائه دهید.

قابلیت استفاده

  • پوشش عملیات گسترده
    • عملیات هدفمند را بر اساس بازخورد کاربر اضافه کنید.
    • مجموعه های عملیات هدفمند را برای دامنه ها و مناطق خاص از جمله عملیات تصادفی، عملیات لایه پایه Keras، جداول هش، انتخاب عملیات آموزشی اضافه کنید.
  • ابزار کمکی بیشتر
    • حاشیه نویسی نمودار TensorFlow و ابزارهای سازگاری را برای اعتبارسنجی TFLite و سازگاری شتاب دهنده سخت افزاری در حین آموزش و پس از تبدیل ارائه دهید.
    • امکان هدف‌گیری و بهینه‌سازی برای شتاب‌دهنده‌های خاص در طول تبدیل.
  • آموزش روی دستگاه
    • پشتیبانی از آموزش روی دستگاه برای شخصی‌سازی و انتقال یادگیری، از جمله Colab که استفاده سرتاسری را نشان می‌دهد.
    • پشتیبانی از انواع متغیر/منبع (هم برای استنباط و هم برای آموزش)
    • پشتیبانی از تبدیل و اجرای نمودارها با چندین تابع (یا امضا) نقاط ورودی.
  • ادغام اندروید استودیو پیشرفته
    • مدل‌های TFLite را در Android Studio بکشید و رها کنید تا رابط‌های مدل ایجاد کنید.
    • پشتیبانی از پروفایل اندروید استودیو، از جمله پروفایل حافظه را بهبود بخشید.
  • مدل ساز
    • پشتیبانی از وظایف جدیدتر، از جمله تشخیص اشیا، توصیه، و طبقه بندی صدا، که مجموعه گسترده ای از کاربردهای رایج را پوشش می دهد.
    • از مجموعه داده های بیشتری پشتیبانی کنید تا یادگیری انتقال آسان تر شود.
  • Task Library
    • از انواع مدل های بیشتر (مانند صدا، NLP) با قابلیت های پردازش قبل و بعد مرتبط پشتیبانی کنید.
    • نمونه های مرجع بیشتری را با Task API به روز کنید.
    • پشتیبانی از شتاب خارج از جعبه برای همه وظایف.
  • مدل ها و نمونه های بیشتر SOTA
    • برای نشان دادن استفاده از مدل و همچنین ویژگی‌ها و APIهای جدید که پلتفرم‌های مختلف را پوشش می‌دهند، مثال‌های بیشتری (به عنوان مثال صدا، NLP، ساختار-داده‌های مرتبط) اضافه کنید.
    • برای کاهش هزینه های آموزش و استقرار، مدل های ستون فقرات قابل اشتراک گذاری را برای روی دستگاه ایجاد کنید.
  • استقرار یکپارچه در چندین پلتفرم
    • مدل های TensorFlow Lite را در وب اجرا کنید.
  • پشتیبانی از پلتفرم های مختلف بهبود یافته است
    • گسترش و بهبود APIها برای جاوا در اندروید، سوئیفت در iOS، پایتون در RPi.
    • پشتیبانی CMake را تقویت کنید (به عنوان مثال، پشتیبانی گسترده تر از شتاب دهنده).
  • پشتیبانی بهتر از frontend
    • سازگاری با فرانت‌اندهای مختلف نویسندگی، از جمله Keras، tf.numpy را بهبود بخشید.

کارایی

  • ابزارسازی بهتر
    • داشبورد عمومی برای ردیابی دستاوردهای عملکرد با هر نسخه.
    • ابزاری برای درک بهتر سازگاری نمودار با شتاب دهنده های هدف.
  • بهبود عملکرد CPU
    • XNNPack به طور پیش فرض برای استنتاج سریعتر ممیز شناور فعال است.
    • پشتیبانی نیمه دقیق (float16) با هسته های بهینه شده.
  • پشتیبانی از NN API به روز شد
    • پشتیبانی کامل از ویژگی‌ها، عملکردها و انواع نسخه جدیدتر NN API اندروید.
  • بهینه سازی GPU
    • بهبود زمان راه اندازی با پشتیبانی از سریال سازی نماینده.
    • تعامل بافر سخت افزاری برای استنتاج با کپی صفر.
    • در دسترس بودن گسترده تر شتاب در دستگاه.
    • پوشش عملیاتی بهتر

بهينه سازي

  • کوانتیزاسیون

    • کوانتیزاسیون انتخابی پس از آموزش برای حذف لایه های خاصی از کوانتیزه کردن.
    • اشکال زدایی کوانتیزاسیون برای بررسی تلفات خطای کوانتیزاسیون در هر لایه.
    • استفاده از آموزش آگاهی از کوانتیزاسیون در پوشش مدل بیشتر به عنوان مثال باغ مدل تنسورفلو.
    • بهبود کیفیت و عملکرد برای کوانتیزاسیون دامنه پویا پس از آموزش.
    • Tensor Compression API برای اجازه دادن به الگوریتم های فشرده سازی مانند SVD.
  • هرس / پراکندگی

    • APIهای قابل تنظیم زمان آموزش (هرس + آموزش آگاه از کمیت) را ترکیب کنید.
    • افزایش کاربرد اسپاریتی در مدل های TF Model Garden.
    • پشتیبانی از اجرای مدل پراکنده در TensorFlow Lite.

قابل حمل بودن

  • پشتیبانی از میکروکنترلر
    • پشتیبانی از طیفی از موارد استفاده معماری MCU 32 بیتی برای طبقه بندی گفتار و تصویر را اضافه کنید.
    • Audio Frontend: پشتیبانی از پیش پردازش و شتاب صوتی درون گراف
    • نمونه کد و مدل برای داده های بینایی و صوتی.