نمای کلی تبدیل مدل

مدل‌های یادگیری ماشینی (ML) که با TensorFlow Lite استفاده می‌کنید، در اصل با استفاده از کتابخانه‌ها و ابزارهای اصلی TensorFlow ساخته و آموزش داده شده‌اند. هنگامی که یک مدل با هسته TensorFlow ساختید، می توانید آن را به یک قالب مدل ML کوچکتر و کارآمدتر به نام مدل TensorFlow Lite تبدیل کنید. این بخش راهنمایی هایی را برای تبدیل مدل های TensorFlow به قالب مدل TensorFlow Lite ارائه می دهد.

گردش کار تبدیل

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

نمودار زیر مراحل سطح بالا در تبدیل یک مدل را نشان می دهد.

گردش کار تبدیل TFLite

شکل 1. گردش کار تبدیل TensorFlow Lite.

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

فرمت های مدل ورودی

می توانید از مبدل با فرمت های مدل ورودی زیر استفاده کنید:

  • SavedModel ( توصیه می شود ): یک مدل TensorFlow که به عنوان مجموعه ای از فایل ها روی دیسک ذخیره می شود.
  • مدل Keras : مدلی که با استفاده از Keras API سطح بالا ایجاد شده است.
  • فرمت Keras H5 : یک جایگزین سبک وزن برای فرمت SavedModel که توسط Keras API پشتیبانی می شود.
  • مدل های ساخته شده از توابع بتن : مدلی که با استفاده از API سطح پایین TensorFlow ایجاد شده است.

شما می توانید هر دو مدل عملکرد Keras و بتن را به عنوان SavedModel ذخیره کنید و با استفاده از مسیر توصیه شده تبدیل کنید.

اگر مدل Jax دارید، می‌توانید از API TFLiteConverter.experimental_from_jax برای تبدیل آن به قالب TensorFlow Lite استفاده کنید. توجه داشته باشید که این API در حالت آزمایشی در معرض تغییر است.

ارزیابی تبدیل

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

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

تبدیل مدل

مبدل TensorFlow Lite یک مدل TensorFlow را می گیرد و یک مدل TensorFlow Lite (فرمت FlatBuffer بهینه شده که با پسوند فایل .tflite . شناسایی می شود) تولید می کند. می‌توانید یک SavedModel بارگذاری کنید یا مدلی را که ایجاد می‌کنید مستقیماً در کد تبدیل کنید.

مبدل 3 پرچم اصلی (یا گزینه) می گیرد که تبدیل را برای مدل شما سفارشی می کند:

  1. پرچم‌های سازگاری به شما امکان می‌دهند مشخص کنید آیا تبدیل باید به اپراتورهای سفارشی اجازه دهد یا خیر.
  2. پرچم‌های بهینه‌سازی به شما این امکان را می‌دهند که نوع بهینه‌سازی را برای اعمال در هنگام تبدیل مشخص کنید. متداول‌ترین روش بهینه‌سازی مورد استفاده، کمی‌سازی پس از آموزش است.
  3. پرچم‌های فراداده به شما امکان می‌دهند تا متادیتا را به مدل تبدیل‌شده اضافه کنید که ایجاد کد پوشش مخصوص پلتفرم را هنگام استقرار مدل‌ها در دستگاه‌ها آسان‌تر می‌کند.

می توانید مدل خود را با استفاده از API پایتون یا ابزار خط فرمان تبدیل کنید. راهنمای مدل تبدیل TF را برای دستورالعمل های گام به گام در مورد اجرای مبدل در مدل خود ببینید.

معمولاً شما می‌توانید مدل خود را برای محیط اجرای استاندارد TensorFlow Lite یا محیط اجرای خدمات Google Play برای TensorFlow Lite (بتا) تبدیل کنید. برخی از موارد استفاده پیشرفته نیاز به سفارشی سازی محیط زمان اجرا مدل دارند که به مراحل اضافی در فرآیند تبدیل نیاز دارد. برای راهنمایی بیشتر به بخش محیط اجرای پیشرفته در نمای کلی اندروید مراجعه کنید.

تبدیل پیشرفته

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

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

مراحل بعدی

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