مدلهای یادگیری ماشینی (ML) که با TensorFlow Lite استفاده میکنید، در اصل با استفاده از کتابخانهها و ابزارهای اصلی TensorFlow ساخته و آموزش داده شدهاند. هنگامی که یک مدل با هسته TensorFlow ساختید، می توانید آن را به یک قالب مدل ML کوچکتر و کارآمدتر به نام مدل TensorFlow Lite تبدیل کنید. این صفحه راهنمایی برای تبدیل مدل های TensorFlow شما به قالب مدل TensorFlow Lite ارائه می دهد.
گردش کار تبدیل
تبدیل مدلهای TensorFlow به قالب TensorFlow Lite بسته به محتوای مدل ML شما میتواند چند مسیر را طی کند. به عنوان اولین مرحله از این فرآیند، باید مدل خود را ارزیابی کنید تا مشخص کنید که آیا می توان آن را مستقیماً تبدیل کرد یا خیر. این ارزیابی تعیین میکند که آیا محتوای مدل توسط محیطهای زمان اجرا استاندارد TensorFlow Lite بر اساس عملیات TensorFlow مورد استفاده قرار میگیرد یا خیر. اگر مدل سازی از عملیات خارج از مجموعه پشتیبانی شده استفاده می کند، می توانید مدل خود را تغییر دهید یا از تکنیک های تبدیل پیشرفته استفاده کنید.
نمودار زیر مراحل سطح بالا در تبدیل یک مدل را نشان می دهد.
شکل 1. گردش کار تبدیل TensorFlow Lite.
بخشهای زیر روند ارزیابی و تبدیل مدلها را برای استفاده با TensorFlow Lite شرح میدهد.
فرمت های مدل ورودی
می توانید از مبدل با فرمت های مدل ورودی زیر استفاده کنید:
- SavedModel ( توصیه می شود ): یک مدل TensorFlow که به عنوان مجموعه ای از فایل ها روی دیسک ذخیره می شود.
- مدل Keras : مدلی که با استفاده از Keras API سطح بالا ایجاد شده است.
- فرمت Keras H5 : یک جایگزین سبک وزن برای فرمت SavedModel که توسط Keras API پشتیبانی می شود.
- مدل های ساخته شده از توابع بتن : مدلی که با استفاده از API سطح پایین TensorFlow ایجاد شده است.
اگر مدل 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 بارگذاری کنید یا مدلی را که ایجاد میکنید مستقیماً در کد تبدیل کنید.
می توانید مدل خود را با استفاده از API پایتون یا ابزار خط فرمان تبدیل کنید. راهنمای تبدیل TensorFlow Lite را برای دستورالعمل های گام به گام در مورد اجرای مبدل در مدل خود مشاهده کنید.
معمولاً شما میتوانید مدل خود را برای محیط اجرای استاندارد TensorFlow Lite یا محیط اجرای خدمات Google Play برای TensorFlow Lite (بتا) تبدیل کنید. برخی از موارد استفاده پیشرفته نیاز به سفارشی سازی محیط زمان اجرا مدل دارند که به مراحل اضافی در فرآیند تبدیل نیاز دارد. برای راهنمایی بیشتر به بخش محیط اجرای پیشرفته در نمای کلی اندروید مراجعه کنید.
تبدیل پیشرفته
اگر هنگام اجرای مبدل در مدل خود با خطا مواجه شدید، به احتمال زیاد مشکل سازگاری اپراتور دارید. همه عملیات TensorFlow توسط TensorFlow Lite پشتیبانی نمی شوند. میتوانید با اصلاح مدل خود یا با استفاده از گزینههای تبدیل پیشرفته که به شما امکان میدهد یک مدل قالب اصلاحشده TensorFlow Lite و یک محیط زمان اجرا سفارشی برای آن مدل ایجاد کنید، این مشکلات را حل کنید.
- برای اطلاعات بیشتر در مورد ملاحظات سازگاری مدل TensorFlow و TensorFlow Lite به نمای کلی سازگاری مدل مراجعه کنید.
- موضوعات زیر بررسی اجمالی سازگاری مدل، تکنیکهای پیشرفتهای را برای بازسازی مدل شما، مانند راهنمای انتخاب عملگرها ، پوشش میدهد.
- برای لیست کامل عملیات و محدودیت ها به صفحه TensorFlow Lite Ops مراجعه کنید.
مراحل بعدی
- برای راهنمایی در مورد نحوه بهینه سازی مدل تبدیل شده خود با استفاده از تکنیک هایی مانند کمی سازی پس از آموزش، به نمای کلی بهینه سازی مراجعه کنید.
- برای استفاده از API برای تجزیه و تحلیل مدل خود برای مسائلی مانند سازگاری نمایندگی، به راهنمای Model Analyzer مراجعه کنید.
- برای آشنایی با نحوه افزودن ابرداده به مدلهای خود، نمای کلی افزودن ابرداده را ببینید. ابرداده برای استفاده های دیگر توصیفی از مدل شما و همچنین اطلاعاتی که می تواند توسط تولیدکنندگان کد استفاده شود، ارائه می دهد.