Tìm hiểu cách xuất sang định dạng TF SavedModel từ YOLO26
Việc triển khai các mô hình machine learning có thể là một thách thức. Tuy nhiên, việc sử dụng định dạng mô hình hiệu quả và linh hoạt có thể giúp công việc của bạn dễ dàng hơn. TF SavedModel là một framework machine learning mã nguồn mở được TensorFlow sử dụng để tải các mô hình machine learning theo cách nhất quán. Nó giống như một chiếc vali cho các mô hình TensorFlow, giúp chúng dễ dàng mang theo và sử dụng trên các thiết bị và hệ thống khác nhau.
Học cách xuất sang TF SavedModel từ các mô hình Ultralytics YOLO26 có thể giúp bạn triển khai mô hình dễ dàng trên các nền tảng và môi trường khác nhau. Trong hướng dẫn này, chúng tôi sẽ thực hiện từng bước cách chuyển đổi mô hình của bạn sang định dạng TF SavedModel, đơn giản hóa quy trình chạy suy luận với các mô hình của bạn trên nhiều thiết bị khác nhau.
Tại sao bạn nên xuất sang TF SavedModel?
Định dạng TensorFlow SavedModel là một phần của hệ sinh thái TensorFlow do Google phát triển như dưới đây. Nó được thiết kế để lưu và tuần tự hóa các mô hình TensorFlow một cách liền mạch. Nó đóng gói các chi tiết đầy đủ của mô hình như kiến trúc, trọng số và thậm chí cả thông tin biên dịch. Điều này giúp việc chia sẻ, triển khai và tiếp tục huấn luyện trên các môi trường khác nhau trở nên đơn giản.
TF SavedModel có một ưu điểm chính: tính tương thích. Nó hoạt động tốt với TensorFlow Serving, TensorFlow Lite và TensorFlow.js. Khả năng tương thích này giúp việc chia sẻ và triển khai mô hình trên nhiều nền tảng khác nhau, bao gồm các ứng dụng web và di động, trở nên dễ dàng hơn. Định dạng TF SavedModel hữu ích cho cả nghiên cứu và sản xuất. Nó cung cấp một cách thức thống nhất để quản lý các mô hình của bạn, đảm bảo chúng sẵn sàng cho mọi ứng dụng.
Các tính năng chính của TF SavedModels
Dưới đây là các tính năng chính khiến TF SavedModel trở thành một lựa chọn tuyệt vời cho các nhà phát triển AI:
-
Tính di động (Portability): TF SavedModel cung cấp một định dạng tuần tự hóa trung lập về ngôn ngữ, có thể khôi phục và khép kín. Chúng cho phép các hệ thống và công cụ cấp cao hơn tạo, tiêu thụ và biến đổi các mô hình TensorFlow. Các SavedModels có thể được chia sẻ và triển khai dễ dàng trên các nền tảng và môi trường khác nhau.
-
Dễ triển khai (Ease of Deployment): TF SavedModel đóng gói đồ thị tính toán, các tham số đã huấn luyện và siêu dữ liệu cần thiết vào một gói duy nhất. Chúng có thể dễ dàng được tải và sử dụng để suy luận mà không cần mã nguồn gốc đã xây dựng mô hình. Điều này giúp việc triển khai các mô hình TensorFlow trở nên đơn giản và hiệu quả trong nhiều môi trường sản xuất.
-
Quản lý tài nguyên (Asset Management): TF SavedModel hỗ trợ bao gồm các tài nguyên bên ngoài như từ vựng, embeddings hoặc bảng tra cứu. Các tài nguyên này được lưu trữ cùng với định nghĩa đồ thị và các biến, đảm bảo chúng luôn khả dụng khi mô hình được tải. Tính năng này đơn giản hóa việc quản lý và phân phối các mô hình dựa trên các tài nguyên bên ngoài.
Các tùy chọn triển khai với TF SavedModel
Trước khi chúng ta đi sâu vào quy trình xuất các mô hình YOLO26 sang định dạng TF SavedModel, hãy cùng khám phá một số kịch bản triển khai điển hình mà định dạng này được sử dụng.
TF SavedModel cung cấp hàng loạt tùy chọn để triển khai các mô hình machine learning của bạn:
-
TensorFlow Serving: TensorFlow Serving là một hệ thống phục vụ linh hoạt, hiệu suất cao được thiết kế cho môi trường sản xuất. Nó hỗ trợ tự nhiên các TF SavedModels, giúp việc triển khai và phục vụ các mô hình của bạn trên các nền tảng đám mây, máy chủ tại chỗ hoặc thiết bị biên (edge devices) trở nên dễ dàng.
-
Nền tảng đám mây (Cloud Platforms): Các nhà cung cấp dịch vụ đám mây lớn như Google Cloud Platform (GCP), Amazon Web Services (AWS), và Microsoft Azure cung cấp các dịch vụ để triển khai và chạy các mô hình TensorFlow, bao gồm cả TF SavedModels. Các dịch vụ này cung cấp cơ sở hạ tầng có thể mở rộng và được quản lý, cho phép bạn triển khai và mở rộng quy mô các mô hình của mình một cách dễ dàng.
-
Thiết bị di động và nhúng (Mobile and Embedded Devices): TensorFlow Lite, một giải pháp nhẹ để chạy các mô hình machine learning trên thiết bị di động, thiết bị nhúng và IoT, hỗ trợ chuyển đổi các TF SavedModels sang định dạng TensorFlow Lite. Điều này cho phép bạn triển khai mô hình của mình trên nhiều loại thiết bị, từ điện thoại thông minh và máy tính bảng đến vi điều khiển và thiết bị biên.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt) là một runtime hiệu suất cao để thực thi các đồ thị TensorFlow. Nó cung cấp các API cấp thấp hơn để tải và chạy các TF SavedModels trong môi trường C++. TensorFlow Runtime mang lại hiệu suất tốt hơn so với runtime TensorFlow tiêu chuẩn. Nó phù hợp cho các kịch bản triển khai đòi hỏi suy luận có độ trễ thấp và tích hợp chặt chẽ với các codebase C++ hiện có.
Xuất mô hình YOLO26 sang TF SavedModel
Bằng cách xuất các mô hình YOLO26 sang định dạng TF SavedModel, bạn tăng cường khả năng thích ứng và sự dễ dàng trong việc triển khai trên nhiều nền tảng khác nhau.
Cài đặt
Để cài đặt gói yêu cầu, hãy chạy:
# Install the required package for YOLO26
pip install ultralyticsĐể biết hướng dẫn chi tiết và các phương pháp thực hành tốt nhất liên quan đến quy trình cài đặt, hãy xem hướng dẫn Cài đặt Ultralytics của chúng tôi. Trong quá trình cài đặt các gói cần thiết cho YOLO26, nếu gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn về các vấn đề phổ biến để tìm giải pháp và mẹo xử lý.
Cách sử dụng
Tất cả các mô hình Ultralytics YOLO26 đều được thiết kế để hỗ trợ xuất ngay lập tức, giúp dễ dàng tích hợp chúng vào quy trình triển khai ưa thích của bạn. Bạn có thể xem danh sách đầy đủ các định dạng xuất và tùy chọn cấu hình được hỗ trợ để chọn thiết lập tốt nhất cho ứng dụng của mình.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'
# Load the exported TF SavedModel model
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
# Run inference
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")Các đối số Xuất
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'saved_model' | Định dạng mục tiêu cho model đã xuất, xác định khả năng tương thích với các môi trường triển khai khác nhau. |
imgsz | int hoặc tuple | 640 | Kích thước hình ảnh mong muốn cho đầu vào của model. Có thể là một số nguyên cho hình ảnh vuông hoặc một tuple (height, width) cho các kích thước cụ thể. |
keras | bool | False | Cho phép xuất sang định dạng Keras, mang lại khả năng tương thích với TensorFlow Serving và các API. |
int8 | bool | False | Kích hoạt lượng tử hóa INT8, nén model thêm nữa và tăng tốc suy luận với mức giảm độ chính xác tối thiểu, chủ yếu cho các thiết bị biên. |
nms | bool | False | Thêm Non-Maximum Suppression (NMS), cần thiết cho việc hậu xử lý phát hiện chính xác và hiệu quả. |
batch | int | 1 | Chỉ định kích thước suy luận batch của model xuất hoặc số lượng ảnh tối đa mà model xuất sẽ xử lý đồng thời ở chế độ predict. |
data | str | 'coco8.yaml' | Đường dẫn đến tệp cấu hình dataset (mặc định: coco8.yaml), rất cần thiết cho việc lượng tử hóa (quantization). |
fraction | float | 1.0 | Chỉ định phần trăm dataset cần sử dụng cho hiệu chuẩn lượng tử hóa INT8. Cho phép hiệu chuẩn trên một tập con của toàn bộ dataset, hữu ích cho các thử nghiệm hoặc khi tài nguyên bị hạn chế. Nếu không được chỉ định trong khi INT8 đã được bật, toàn bộ dataset sẽ được sử dụng. |
device | str | None | Chỉ định thiết bị để xuất: CPU (device=cpu), MPS cho Apple silicon (device=mps). |
Để biết thêm chi tiết về quy trình xuất, hãy truy cập trang tài liệu Ultralytics về xuất model.
Triển khai các mô hình YOLO26 TF SavedModel đã xuất
Bây giờ bạn đã xuất mô hình YOLO26 sang định dạng TF SavedModel, bước tiếp theo là triển khai nó. Bước đầu tiên được khuyến nghị và cơ bản để chạy một mô hình TF SavedModel là sử dụng phương thức YOLO("yolo26n_saved_model/"), như đã hiển thị trước đó trong đoạn mã sử dụng.
Tuy nhiên, để biết hướng dẫn chi tiết về cách triển khai các mô hình TF SavedModel, hãy xem qua các tài nguyên sau:
-
TensorFlow Serving: Đây là tài liệu dành cho nhà phát triển về cách triển khai các mô hình TF SavedModel của bạn bằng TensorFlow Serving.
-
Chạy TensorFlow SavedModel trong Node.js: Một bài đăng trên blog TensorFlow về cách chạy TensorFlow SavedModel trực tiếp trong Node.js mà không cần chuyển đổi.
-
Triển khai trên Cloud: Một bài đăng trên blog TensorFlow về việc triển khai mô hình TensorFlow SavedModel trên Cloud AI Platform.
Tóm tắt
Trong hướng dẫn này, chúng tôi đã khám phá cách xuất các mô hình Ultralytics YOLO26 sang định dạng TF SavedModel. Bằng cách xuất sang TF SavedModel, bạn có được sự linh hoạt để tối ưu hóa, triển khai và mở rộng quy mô các mô hình YOLO26 của mình trên nhiều nền tảng.
Để biết thêm chi tiết về cách sử dụng, hãy truy cập tài liệu chính thức về TF SavedModel.
Để biết thêm thông tin về việc tích hợp Ultralytics YOLO26 với các nền tảng và framework khác, đừng quên xem qua trang hướng dẫn tích hợp của chúng tôi. Trang này chứa đầy các tài nguyên tuyệt vời để giúp bạn tận dụng tối đa YOLO26 trong các dự án của mình.
Câu hỏi thường gặp (FAQ)
Làm cách nào để tôi xuất một mô hình Ultralytics YOLO sang định dạng TensorFlow SavedModel?
Việc xuất một mô hình Ultralytics YOLO sang định dạng TensorFlow SavedModel rất đơn giản. Bạn có thể sử dụng Python hoặc CLI để thực hiện việc này:
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'
# Load the exported TF SavedModel for inference
tf_savedmodel_model = YOLO("./yolo26n_saved_model")
results = tf_savedmodel_model("https://ultralytics.com/images/bus.jpg")Tham khảo tài liệu Xuất của Ultralytics để biết thêm chi tiết.
Tại sao tôi nên sử dụng định dạng TensorFlow SavedModel?
Định dạng TensorFlow SavedModel mang lại một số ưu điểm cho việc triển khai mô hình:
- Tính di động: Nó cung cấp một định dạng trung lập về ngôn ngữ, giúp việc chia sẻ và triển khai mô hình trên các môi trường khác nhau trở nên dễ dàng.
- Tính tương thích: Tích hợp liền mạch với các công cụ như TensorFlow Serving, TensorFlow Lite và TensorFlow.js, những công cụ thiết yếu để triển khai mô hình trên nhiều nền tảng, bao gồm các ứng dụng web và di động.
- Đóng gói hoàn chỉnh: Mã hóa kiến trúc mô hình, trọng số và thông tin biên dịch, cho phép chia sẻ và tiếp tục huấn luyện một cách đơn giản.
Để biết thêm lợi ích và các tùy chọn triển khai, hãy xem các tùy chọn triển khai mô hình Ultralytics YOLO.
Các kịch bản triển khai điển hình cho TF SavedModel là gì?
TF SavedModel có thể được triển khai trong nhiều môi trường khác nhau, bao gồm:
- TensorFlow Serving: Lý tưởng cho môi trường sản xuất đòi hỏi phục vụ mô hình hiệu suất cao và có thể mở rộng.
- Nền tảng đám mây: Hỗ trợ các dịch vụ đám mây lớn như Google Cloud Platform (GCP), Amazon Web Services (AWS) và Microsoft Azure để triển khai mô hình có thể mở rộng.
- Thiết bị di động và nhúng: Sử dụng TensorFlow Lite để chuyển đổi TF SavedModels cho phép triển khai trên các thiết bị di động, thiết bị IoT và vi điều khiển.
- TensorFlow Runtime: Dành cho môi trường C++ cần suy luận có độ trễ thấp với hiệu suất tốt hơn.
Để biết các tùy chọn triển khai chi tiết, hãy truy cập các hướng dẫn chính thức về triển khai mô hình TensorFlow.
Làm cách nào để tôi cài đặt các gói cần thiết để xuất mô hình YOLO26?
Để xuất các mô hình YOLO26, bạn cần cài đặt gói ultralytics. Chạy lệnh sau trong terminal của bạn:
pip install ultralyticsĐể biết hướng dẫn cài đặt chi tiết hơn và các phương pháp hay nhất, hãy tham khảo hướng dẫn Cài đặt Ultralytics của chúng tôi. Nếu bạn gặp bất kỳ vấn đề nào, hãy tham khảo hướng dẫn về các vấn đề phổ biến.
Các tính năng chính của định dạng TensorFlow SavedModel là gì?
Định dạng TF SavedModel hữu ích cho các nhà phát triển AI nhờ các tính năng sau:
- Tính di động: Cho phép chia sẻ và triển khai trên nhiều môi trường khác nhau một cách dễ dàng.
- Dễ triển khai: Đóng gói đồ thị tính toán, các tham số đã huấn luyện và siêu dữ liệu vào một gói duy nhất, giúp đơn giản hóa việc tải và suy luận.
- Quản lý tài nguyên: Hỗ trợ các tài nguyên bên ngoài như từ vựng, đảm bảo chúng luôn sẵn sàng khi mô hình tải.
Để biết thêm chi tiết, hãy khám phá tài liệu TensorFlow chính thức.