مدلهای یادگیری ماشین (ML) که با LiteRT استفاده میکنید در اصل با استفاده از کتابخانهها و ابزارهای هسته TensorFlow ساخته و آموزش داده شدهاند. هنگامی که یک مدل با هسته TensorFlow ساختید، می توانید آن را به یک قالب مدل ML کوچکتر و کارآمدتر به نام مدل LiteRT تبدیل کنید. این بخش راهنمایی برای تبدیل مدل های TensorFlow شما به قالب مدل LiteRT ارائه می دهد.
گردش کار تبدیل
تبدیل مدل های TensorFlow به فرمت LiteRT بسته به محتوای مدل ML شما می تواند چند مسیر را طی کند. به عنوان اولین مرحله از آن فرآیند، باید مدل خود را ارزیابی کنید تا مشخص کنید که آیا می توان آن را مستقیماً تبدیل کرد یا خیر. این ارزیابی تعیین میکند که آیا محتوای مدل توسط محیطهای زمان اجرا استاندارد LiteRT بر اساس عملیات TensorFlow که استفاده میکند پشتیبانی میشود یا خیر. اگر مدل شما از عملیات خارج از مجموعه پشتیبانی شده استفاده می کند، می توانید مدل خود را تغییر دهید یا از تکنیک های تبدیل پیشرفته استفاده کنید.
نمودار زیر مراحل سطح بالا در تبدیل یک مدل را نشان می دهد.
شکل 1. گردش کار تبدیل LiteRT.
بخشهای زیر روند ارزیابی و تبدیل مدلها برای استفاده با LiteRT را تشریح میکند.
فرمت های مدل ورودی
می توانید از مبدل با فرمت های مدل ورودی زیر استفاده کنید:
- SavedModel ( توصیه می شود ): یک مدل TensorFlow که به عنوان مجموعه ای از فایل ها روی دیسک ذخیره می شود.
- مدل Keras : مدلی که با استفاده از Keras API سطح بالا ایجاد شده است.
- فرمت Keras H5 : یک جایگزین سبک وزن برای فرمت SavedModel که توسط Keras API پشتیبانی می شود.
- مدل های ساخته شده از توابع بتن : مدلی که با استفاده از API سطح پایین TensorFlow ایجاد شده است.
شما می توانید هر دو مدل عملکرد Keras و بتن را به عنوان SavedModel ذخیره کنید و با استفاده از مسیر توصیه شده تبدیل کنید.
اگر مدل Jax دارید، می توانید از API TFLiteConverter.experimental_from_jax
برای تبدیل آن به فرمت LiteRT استفاده کنید. توجه داشته باشید که این API در حالت آزمایشی در معرض تغییر است.
ارزیابی تبدیل
ارزیابی مدل شما یک مرحله مهم قبل از تلاش برای تبدیل آن است. هنگام ارزیابی، می خواهید تعیین کنید که آیا محتویات مدل شما با فرمت LiteRT سازگار است یا خیر. همچنین باید تعیین کنید که آیا مدل شما از نظر اندازه دادههایی که مدل استفاده میکند، نیازهای پردازش سختافزاری آن، و اندازه و پیچیدگی کلی مدل برای استفاده در دستگاههای تلفن همراه و لبه مناسب است یا خیر.
برای بسیاری از مدل ها، مبدل باید خارج از جعبه کار کند. با این حال، کتابخانه اپراتور داخلی LiteRT از زیر مجموعه ای از اپراتورهای هسته TensorFlow پشتیبانی می کند، به این معنی که برخی از مدل ها ممکن است قبل از تبدیل به LiteRT به مراحل بیشتری نیاز داشته باشند. بهعلاوه، برخی از عملیاتهایی که توسط LiteRT پشتیبانی میشوند، الزامات استفاده را به دلایل عملکرد محدود کردهاند. راهنمای سازگاری اپراتور را ببینید تا مشخص کنید آیا مدل شما برای تبدیل نیاز به بازسازی دارد یا خیر.
تبدیل مدل
مبدل LiteRT یک مدل TensorFlow را می گیرد و یک مدل LiteRT (فرمت FlatBuffer بهینه شده که با پسوند فایل .tflite
شناسایی می شود) تولید می کند. میتوانید یک SavedModel بارگذاری کنید یا مدلی را که ایجاد میکنید مستقیماً در کد تبدیل کنید.
مبدل 3 پرچم اصلی (یا گزینه) می گیرد که تبدیل را برای مدل شما سفارشی می کند:
- پرچمهای سازگاری به شما امکان میدهند مشخص کنید آیا تبدیل باید به اپراتورهای سفارشی اجازه دهد یا خیر.
- پرچمهای بهینهسازی به شما این امکان را میدهند که نوع بهینهسازی را برای اعمال در هنگام تبدیل مشخص کنید. متداولترین روش بهینهسازی مورد استفاده، کمیسازی پس از آموزش است.
- پرچمهای فراداده به شما امکان میدهند تا متادیتا را به مدل تبدیلشده اضافه کنید که ایجاد کد پوشش مخصوص پلتفرم را هنگام استقرار مدلها در دستگاهها آسانتر میکند.
می توانید مدل خود را با استفاده از API پایتون یا ابزار خط فرمان تبدیل کنید. راهنمای مدل تبدیل TF را برای دستورالعمل های گام به گام در مورد اجرای مبدل در مدل خود ببینید.
معمولاً شما میتوانید مدل خود را برای محیط اجرای استاندارد LiteRT یا محیط اجرای خدمات Google Play برای LiteRT (بتا) تبدیل کنید. برخی از موارد استفاده پیشرفته نیاز به سفارشی سازی محیط زمان اجرا مدل دارند که به مراحل اضافی در فرآیند تبدیل نیاز دارد. برای راهنمایی بیشتر به بخش محیط اجرای پیشرفته در نمای کلی اندروید مراجعه کنید.
تبدیل پیشرفته
اگر هنگام اجرای مبدل در مدل خود با خطا مواجه شدید، به احتمال زیاد مشکل سازگاری اپراتور دارید. همه عملیات TensorFlow توسط TensorFlow Lite پشتیبانی نمی شوند. میتوانید با اصلاح مدل خود یا با استفاده از گزینههای تبدیل پیشرفته که به شما امکان میدهد یک مدل قالب LiteRT اصلاح شده و یک محیط زمان اجرا سفارشی برای آن مدل ایجاد کنید، این مشکلات را حل کنید.
- برای اطلاعات بیشتر در مورد ملاحظات سازگاری مدل TensorFlow و LiteRT به نمای کلی سازگاری مدل مراجعه کنید.
- موضوعات زیر بررسی اجمالی سازگاری مدل، تکنیکهای پیشرفتهای را برای بازسازی مدل شما، مانند راهنمای انتخاب عملگرها، پوشش میدهد.
- برای لیست کامل عملیات و محدودیت ها به صفحه LiteRT Ops مراجعه کنید.
مراحل بعدی
- برای شروع سریع تبدیل مدل خود، راهنمای تبدیل مدل های TF را ببینید.
- برای راهنمایی در مورد نحوه بهینه سازی مدل تبدیل شده خود با استفاده از تکنیک هایی مانند کمی سازی پس از آموزش، به نمای کلی بهینه سازی مراجعه کنید.
- برای آشنایی با نحوه افزودن ابرداده به مدلهای خود ، نمای کلی افزودن ابرداده را ببینید. ابرداده، شرحی از مدل شما و همچنین اطلاعاتی را ارائه می دهد که می تواند توسط تولیدکنندگان کد مورد استفاده قرار گیرد.