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

سازگاری اپراتورهای TensorFlow Lite و TensorFlow

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

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

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

انواع پشتیبانی شده

بیشتر عملیات int8 استنتاج را هم از نقطه شناور ( float32 ) و هم از نظر مقدار ( uint8 ، int8 ) هدف قرار می دهند ، اما بسیاری از گزینه ها هنوز برای انواع دیگر مانند tf.float16 و رشته ها کاربرد ندارند.

جدای از استفاده از نسخه های مختلف عملیات ، تفاوت دیگر بین مدل های شناور و کوانتیزه در نحوه تبدیل آنهاست. تبدیل کوانتیزه شده برای محدود کننده ها به اطلاعات دامنه پویا نیاز دارد. این امر به "اندازه گیری جعلی" در حین آموزش مدل ، بدست آوردن اطلاعات محدوده از طریق مجموعه داده های کالیبراسیون یا برآورد برد "پرواز هنگام پرواز" نیاز دارد. مقداردهی را مشاهده کنید.

عملیات و محدودیت های پشتیبانی شده

TensorFlow Lite با برخی محدودیت ها از زیر مجموعه ای از عملیات TensorFlow پشتیبانی می کند. برای لیست کامل عملیات و محدودیت ها ، به صفحه TF Lite Ops مراجعه کنید .

تبدیل مستقیم به جلو ، ثابت تاشو و ذوب شدن

تعدادی از عملیات TensorFlow را می توان توسط TensorFlow Lite پردازش کرد حتی اگر معادل مستقیمی نداشته باشند. این مورد در مورد عملیاتی است که می توانند به سادگی از نمودار حذف شوند ( tf.identity ) ، جایگزین شوند با tf.placeholder ( tf.placeholder ) یا در عملیات پیچیده tf.nn.bias_add ( tf.nn.bias_add ). حتی برخی از عملیات پشتیبانی شده نیز ممکن است گاهی از طریق یکی از این فرایندها حذف شود.

در اینجا لیستی غیر کامل از عملیات TensorFlow آورده شده است که معمولاً از نمودار حذف می شود:

عملیات تجربی

عملیات TensorFlow Lite زیر وجود دارد ، اما برای مدلهای سفارشی آماده نیست:

  • CALL
  • CONCAT_EMBEDDINGS
  • CUSTOM
  • EMBEDDING_LOOKUP_SPARSE
  • HASHTABLE_LOOKUP
  • LSH_PROJECTION
  • SKIP_GRAM
  • SVDF