تمام ویژگیهای کیت یادگیری ماشین (ML Kit) به طور پیشفرض از مدلهای یادگیری ماشین آموزشدیده توسط گوگل (که به عنوان مدلهای پایه شناخته میشوند) استفاده میکنند. این راهنما فقط برای مدلهای پایه قابل استفاده است. برای راهنمایی در مورد مدلهای سفارشی به اینجا مراجعه کنید.
مدلهای موجود در APIهای ML Kit را میتوان به یکی از سه روش زیر نصب کرد:
- غیرمتمرکز: مدلها از طریق سرویسهای گوگل پلی دانلود و مدیریت میشوند.
- بستهبندیشده: مدلها در زمان ساخت به صورت ایستا به برنامه شما متصل میشوند.
- دانلود پویا: مدلها بر اساس تقاضا دانلود میشوند.
مسیرهای نصب پشتیبانی شده برای هر API
جدول زیر نشان میدهد که هر ویژگی ML Kit از کدام مسیرهای نصب مدل پشتیبانی میکند:
| بدون دسته بندی | بستهبندیشده | دانلود پویا | |
| تشخیص متن نسخه ۲ | ✅ | ✅ | |
| تشخیص چهره | ✅ | ✅ | |
| تشخیص شبکه چهره | ✅ | ||
| تشخیص ژست | ✅ | ||
| تقسیمبندی سلفی | ✅ | ||
| اسکن بارکد | ✅ | ✅ | |
| برچسبگذاری تصویر | ✅ | ✅ | |
| تشخیص و ردیابی اشیاء | ✅ | ||
| تشخیص جوهر دیجیتال | ✅ | ||
| اسکنر اسناد | ✅ | ||
| تقسیمبندی موضوعی | ✅ | ||
| اسکنر کد گوگل | ✅ | ||
| شناسایی زبان | ✅ | ✅ | |
| ترجمه | ✅ | ||
| پاسخ هوشمند | ✅ | ✅ | |
| استخراج موجودیت | ✅ |
راهنماهای مخصوص API نشان میدهند که کدام گزینههای نصب برای API مورد نظر در دسترس هستند.
تفاوتهای کلیدی بین گزینههای نصب
| بدون دسته بندی | بستهبندیشده | دانلود پویا | |
| مدلها کجا ذخیره میشوند؟ | در سرویسهای گوگل پلی قرار دارد و جزو فضای ذخیرهسازی مورد استفاده این برنامه محسوب نمیشود | پس از نصب، در فضای ذخیرهسازی مخصوص برنامه ذخیره میشود | پس از دانلود مدل، در فضای ذخیرهسازی مخصوص برنامه ذخیره میشود |
| اندازه مدل چگونه بر اندازه برنامه تأثیر میگذارد؟ | به حجم برنامه کمکی نمیکند | مستقیماً در حجم برنامه نقش دارد | به حجم برنامه کمکی نمیکند اما فضای ذخیرهسازی مخصوص برنامه را افزایش میدهد |
| مدلها چه زمانی بهروزرسانی میشوند؟ | به صورت خودکار در صورت انتشار نسخه جدیدتر بهروزرسانی میشود | برای بهروزرسانی مدل، باید برنامه را بهروزرسانی کنید | برای بهروزرسانی مدل، باید برنامه را بهروزرسانی کنید |
| مدلها چه زمانی دانلود میشوند؟ | مدلها باید قبل از استفاده دانلود شوند | همه مدلها و ویژگیها هنگام نصب برنامه گنجانده شدهاند، بنابراین بلافاصله قابل استفاده هستند | دانلودها، بهروزرسانیها و حذفهای مدل باید به صورت دستی با استفاده از RemoteModelManager API مدیریت شوند. |
| چه زمانی مدلها از دستگاه جدا میشوند؟ | سرویسهای گوگل پلی فقط در صورتی مدل را از حافظه حذف میکنند که تمام برنامههای وابسته به آن مدل حذف نصب شده باشند. | مدلها هنگام حذف برنامه، از حافظه مخصوص برنامه حذف میشوند | مدلهای دانلود شده هنگام حذف برنامه، از حافظه مخصوص برنامه حذف میشوند |
چگونه بین بستهبندی و غیربستهبندی یکی را انتخاب کنیم؟
اگر یک API از هر دو گزینه نصب بستهای و غیربستهای پشتیبانی کند:
اگر اولویت شما موارد زیر است، از گزینه همراه استفاده کنید:
- بلافاصله پس از نصب برنامه، قابلیتهای کامل را تکمیل کنید
- قابلیت عملکرد بدون اتصال به شبکه پس از نصب برنامه
اگر اولویت شما موارد زیر است، از گزینهی بدون دسته استفاده کنید:
- حجم برنامه کمتر
- بهروزرسانیهای خودکار مدل توسط سرویسهای گوگل پلی
نحوه دانلود مدلها
هنگام استفاده از گزینه مدل بدون دستهبندی، میتوانید نحوه دانلود مدلها را در دستگاه مشخص کنید:
شما میتوانید با اضافه کردن یک اعلان به فایل
AndroidManifest.xmlبرنامه خود ، دانلود مدلهای زمان نصب را فعال کنید. برای مثال، قطعه کد زیر نحوه پیکربندی برنامه شما را برای دانلود خودکار مدل اسکن بارکد پس از نصب برنامه از فروشگاه Play نشان میدهد:<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode" > <!-- To use multiple models: android:value="barcode,model2,model3" --> </application>شما میتوانید از طریق API ModuleInstallClient سرویسهای گوگل پلی ، درخواست دانلود صریح (explicit download) بدهید .
اگر دانلود مدل در زمان نصب را فعال نکنید یا درخواست دانلود صریح ندهید، مدل در اولین باری که این ویژگی را اجرا میکنید، دانلود خواهد شد. تا زمانی که دانلود کامل نشود، درخواستهای استنتاج با شکست مواجه میشوند.
نحوه بهروزرسانی مدلها
برای بهروزرسانی مدلهای خود هنگام استفاده از مدل همراه یا گزینه مدلهای دانلود شده پویا:
فایل gradle برنامه خود را بهروزرسانی کنید تا از جدیدترین کتابخانه کلاینت ML Kit feature استفاده کند.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }برنامه خود را از نو بسازید.
چرا برخی از APIها مدلهای دانلود شده پویا را ارائه میدهند؟
برخی از APIهای کیت ML گزینههای مدل زیادی برای بستهبندی دارند. برای مثال، تشخیص جوهر دیجیتال از بیش از ۳۰۰ زبان پشتیبانی میکند و همیشه لازم نیست که هر زبان را در حین نصب در داخل این ویژگی قرار دهید. برای این منظور، ما گزینه نصب سوم را ارائه میدهیم که در آن مدلها پس از نصب به صورت درخواست دانلود میشوند. در حال حاضر، فقط تشخیص جوهر دیجیتال ، ترجمه و استخراج موجودیت این گزینه را دارند.