Đường dẫn cài đặt mô hình Bộ công cụ học máy trên Android
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Theo mặc định, tất cả tính năng của Bộ công cụ học máy đều sử dụng các mô hình học máy do Google huấn luyện (còn gọi là mô hình cơ sở). Hướng dẫn này chỉ áp dụng cho các mẫu cơ bản. Xem hướng dẫn về mô hình tuỳ chỉnh tại đây.
Bạn có thể cài đặt các mô hình trong API Bộ công cụ học máy theo một trong ba cách sau:
- Đã tách: Các mô hình được tải xuống và quản lý thông qua Dịch vụ Google Play.
- Được đóng gói: Các mô hình được liên kết tĩnh với ứng dụng của bạn tại thời điểm tạo bản dựng.
- Tải xuống động: Các mô hình được tải xuống theo yêu cầu.
Đường dẫn cài đặt được hỗ trợ cho từng API
Bảng dưới đây cho biết đường dẫn cài đặt mô hình nào được hỗ trợ theo từng tính năng của Bộ công cụ học máy:
Hướng dẫn dành riêng cho API cho biết những tuỳ chọn cài đặt có sẵn cho API nhất định.
Điểm khác biệt chính giữa các lựa chọn cài đặt
Cách chọn giữa gói và không gói
Nếu một API hỗ trợ cả tuỳ chọn cài đặt theo gói và không theo gói:
Cách tải mô hình xuống
Khi sử dụng tuỳ chọn mô hình không theo gói, bạn có thể chỉ định cách bạn muốn tải mô hình xuống thiết bị:
Bạn có thể bật tính năng tải mô hình xuống tại thời điểm cài đặt bằng cách thêm nội dung khai báo vào tệp AndroidManifest.xml
của ứng dụng. Ví dụ: đoạn mã dưới đây cho biết cách định cấu hình ứng dụng để tự động tải mô hình Quét mã vạch xuống sau khi ứng dụng được cài đặt từ Cửa hàng Play:
<application ...>
...
<meta-data
android:name="com.google.mlkit.vision.DEPENDENCIES"
android:value="barcode" >
<!-- To use multiple models: android:value="barcode,model2,model3" -->
</application>
Bạn có thể yêu cầu tải xuống rõ ràng thông qua ModuleInstallClient API của Dịch vụ Google Play.
Nếu bạn không bật tính năng tải mô hình xuống trong thời gian cài đặt hoặc yêu cầu tải xuống rõ ràng, thì mô hình sẽ được tải xuống trong lần đầu tiên bạn chạy tính năng này.
Cho đến khi quá trình tải xuống hoàn tất, các yêu cầu suy luận sẽ không thành công.
Cách cập nhật mô hình
Cách cập nhật mô hình khi sử dụng mô hình đi kèm hoặc tuỳ chọn mô hình được tải xuống động:
Cập nhật tệp gradle của ứng dụng để sử dụng thư viện ứng dụng tính năng mới nhất của Bộ công cụ học máy.
dependencies {
implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
}
Tạo lại ứng dụng.
Lý do một số API cung cấp các mô hình được tải xuống một cách linh động
Một số API Bộ công cụ học máy có quá nhiều tuỳ chọn mô hình để đóng gói. Ví dụ: tính năng Nhận dạng mực kỹ thuật số hỗ trợ hơn 300 ngôn ngữ và không phải lúc nào bạn cũng cần đưa mọi ngôn ngữ vào tính năng này trong quá trình cài đặt.
Vì mục đích đó, chúng tôi cung cấp tuỳ chọn cài đặt thứ ba, trong đó các mô hình được tải xuống theo yêu cầu sau khi cài đặt. Hiện tại, chỉ có tính năng Nhận dạng mực kỹ thuật số, Bản dịch và Trích xuất thực thể mới có tuỳ chọn này.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-08-29 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-08-29 UTC."],[[["\u003cp\u003eML Kit features utilize Google-trained machine learning models, offering three installation options: unbundled, bundled, and dynamically downloaded.\u003c/p\u003e\n"],["\u003cp\u003eUnbundled models are downloaded via Google Play Services, while bundled models are included in the app, and dynamically downloaded models are fetched on demand.\u003c/p\u003e\n"],["\u003cp\u003eChoosing between bundled and unbundled models depends on priorities: bundled for immediate functionality, unbundled for smaller app size and automatic updates.\u003c/p\u003e\n"],["\u003cp\u003eModels can be downloaded at install time, explicitly requested, or downloaded on first use, and updates for bundled or dynamically downloaded models require app updates.\u003c/p\u003e\n"],["\u003cp\u003eDynamically downloaded models are offered for APIs with extensive model options, such as Digital Ink Recognition and Translation, to avoid bundling all possibilities.\u003c/p\u003e\n"]]],[],null,["All ML Kit features make use of Google-trained machine learning models (known as\nbase models) by default. This guide is only applicable to base models. [See here\nfor guidance on custom models.](/ml-kit/custom-models)\n\nModels in ML Kit APIs can be installed in one of three ways:\n\n1. **Unbundled:** Models are downloaded and managed via Google Play Services.\n2. **Bundled:** Models are statically linked to your app at build time.\n3. **Dynamically downloaded:** Models are downloaded on demand.\n\nSupported installation paths for each API\n\nThe table below shows which model installation paths are supported by each ML\nKit feature:\n\n|---------------------------------------------------------------------------|---------------|-------------|----------------------------|\n| | **Unbundled** | **Bundled** | **Dynamically downloaded** |\n| [Text recognition v2](/ml-kit/vision/text-recognition/v2/android) | ✅ | ✅ | |\n| [Face detection](/ml-kit/vision/face-detection/android) | ✅ | ✅ | |\n| [Face mesh detection](/ml-kit/vision/face-mesh-detection/android) | | ✅ | |\n| [Pose detection](/ml-kit/vision/pose-detection/android) | | ✅ | |\n| [Selfie segmentation](/ml-kit/vision/selfie-segmentation/android) | | ✅ | |\n| [Barcode scanning](/ml-kit/vision/barcode-scanning/android) | ✅ | ✅ | |\n| [Image labeling](/ml-kit/vision/image-labeling/android) | ✅ | ✅ | |\n| [Object detection and tracking](/ml-kit/vision/object-detection/android) | | ✅ | |\n| [Digital ink recognition](/ml-kit/vision/digital-ink-recognition/android) | | | ✅ |\n| [Document scanner](/ml-kit/vision/doc-scanner) | ✅ | | |\n| [Subject segmentation](/ml-kit/vision/subject-segmentation/android) | ✅ | | |\n| [Google code scanner](/ml-kit/code-scanner) | ✅ | | |\n| [Language identification](/ml-kit/language/identification/android) | ✅ | ✅ | |\n| [Translation](/ml-kit/language/translation/android) | | | ✅ |\n| [Smart Reply](/ml-kit/language/smart-reply/android) | ✅ | ✅ | |\n| [Entity Extraction](/ml-kit/language/entity-extraction/android) | | | ✅ |\n\nAPI-specific guides show which installation options are available for the given\nAPI.\n\nKey differences between installation options\n\n|----------------------------------------------|-------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| | **Unbundled** | **Bundled** | **Dynamically downloaded** |\n| **Where are models stored?** | Resides in Google Play Services and is not counted towards the storage used by this app | Saved in [app-specific storage](https://developer.android.com/training/data-storage/app-specific) after installation | Saved in [app-specific storage](https://developer.android.com/training/data-storage/app-specific) after model download |\n| **How does model size affect app size?** | Does not contribute to app size | Directly contributes to app size | Does not contribute to app size but increase the [app-specific storage](https://developer.android.com/training/data-storage/app-specific) |\n| **When are models updated?** | Automatically updated when a newer version is released | [Need to update the app to update model](#update-model) | [Need to update the app to update model](#update-model) |\n| **When are models downloaded?** | [Models must be downloaded before use](#download-models) | All models and features are included when the app is installed, so are usable immediately | Model downloads, updates, and deletions must be managed manually using the [RemoteModelManager](/android/reference/com/google/mlkit/common/model/RemoteModelManager) API |\n| **When are models removed from the device?** | Google Play Services will only remove the model from storage if all apps that depend on the model are uninstalled | Models are removed from [app-specific storage](https://developer.android.com/training/data-storage/app-specific) when the app is uninstalled | Downloaded models are removed from [app-specific storage](https://developer.android.com/training/data-storage/app-specific) when the app is uninstalled |\n\nHow to choose between bundled and unbundled\n\nIf an API supports both the bundled and unbundled installation options:\n\n- Use the bundled option if you prioritize:\n\n - Complete feature functionality immediately after app installation\n - Feature functionality without network connection after app installation\n- Use the unbundled option if you prioritize:\n\n - Smaller app size\n - Automated model updates by Google Play Services\n\nHow to download models\n\nWhen using the unbundled model option, you can specify how you want models to be\ndownloaded to the device:\n\n- You can enable **install-time model downloads** by adding a declaration to\n your app's `AndroidManifest.xml` file. For example, the code snippet below\n shows how to configure your app to automatically download the Barcode\n Scanning model after your app is installed from the Play Store:\n\n \u003capplication ...\u003e\n ...\n \u003cmeta-data\n android:name=\"com.google.mlkit.vision.DEPENDENCIES\"\n android:value=\"barcode\" \u003e\n \u003c!-- To use multiple models: android:value=\"barcode,model2,model3\" --\u003e\n \u003c/application\u003e\n\n- You can **request explicit download** through Google Play Services\n [ModuleInstallClient API](/android/guides/module-install-apis).\n\n- If you don't enable install-time model downloads or request explicit\n download, the model will be downloaded the first time you run the feature.\n Until the download is completed, inference requests will fail.\n\nHow to update models\n\nTo update your models when using the bundled model or the dynamically downloaded\nmodels option:\n\n1. Update your app's gradle file to use the latest ML Kit feature client\n library.\n\n dependencies {\n implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API\n }\n\n2. Rebuild your app.\n\nWhy some APIs offer dynamically downloaded models\n\nSome ML Kit API have too many model options to bundle. For example, [Digital ink\nrecognition](/ml-kit/vision/digital-ink-recognition) supports [300+\nlanguages](/ml-kit/vision/digital-ink-recognition/base-models), and it's not\nalways necessary to put every language inside the feature during installation.\nFor that purpose, we provide the third installation option, in which models are\ndownloaded on demand after installation. Currently, only [Digital ink\nrecognition](/ml-kit/vision/digital-ink-recognition),\n[Translation](/ml-kit/language/translation) and [Entity\nextraction](/ml-kit/language/entity-extraction) have this option."]]