Link to this sectionTìm hiểu cách xuất sang định dạng TF SavedModel từ YOLO26#
Việc triển khai các model machine learning có thể gặp nhiều khó khăn. Tuy nhiên, việc sử dụng định dạng model 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 model machine learning một cách nhất quán. Nó giống như một chiếc vali cho các model TensorFlow, giúp chúng dễ dàng vận chuyển và sử dụng trên các thiết bị và hệ thống khác nhau.
Việc học cách xuất sang TF SavedModel từ các model Ultralytics YOLO26 có thể giúp bạn triển khai model một cách 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 các bước chuyển đổi model của bạn sang định dạng TF SavedModel, giúp đơn giản hóa quy trình thực thi inference với model của bạn trên các thiết bị khác nhau.
Link to this sectionTạ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ư hình bên dưới. Nó được thiết kế để lưu và serialize các model TensorFlow một cách liền mạch. Nó đóng gói đầy đủ các chi tiết của model 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 là khả năng 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 model 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ống nhất để quản lý các model của bạn, đảm bảo chúng sẵn sàng cho mọi ứng dụng.
Link to this sectionCá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 lập trình viên AI:
-
Tính di động: TF SavedModel cung cấp định dạng serialize 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 tạo, tiêu thụ và chuyển đổi các model TensorFlow. 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ễ dàng triển khai: TF SavedModel đóng gói biểu đồ tính toán, các tham số đã huấn luyện và metadata cần thiết vào một gói duy nhất. Chúng có thể được tải và sử dụng cho inference một cách dễ dàng mà không cần mã nguồn gốc đã tạo ra model. Điều này giúp việc triển khai các model 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: 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 biểu đồ và các biến, đảm bảo chúng khả dụng khi model đượ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 model dựa trên các tài nguyên bên ngoài.
Link to this sectionCác tùy chọn triển khai với TF SavedModel#
Trước khi đi sâu vào quy trình xuất các model 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 nơi định dạng này được sử dụng.
TF SavedModel cung cấp nhiều tùy chọn để triển khai các model machine learning của bạn:
-
TensorFlow Serving: TensorFlow Serving là một hệ thống phục vụ linh hoạt, hiệu năng cao được thiết kế cho các môi trường production. Nó hỗ trợ native TF SavedModels, giúp dễ dàng triển khai và phục vụ các model của bạn trên nền tảng đám mây, server tại chỗ hoặc edge devices.
-
Nền tảng đám mây: Các nhà cung cấp đá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 model TensorFlow, bao gồm cả TF SavedModels. Các dịch vụ này cung cấp cơ sở hạ tầng có thể quản lý và mở rộng, cho phép bạn triển khai và mở rộng quy mô model của mình một cách dễ dàng.
-
Mobile and Embedded Devices: TensorFlow Lite, một giải pháp nhẹ để chạy các model machine learning trên thiết bị di động, nhúng và IoT, hỗ trợ chuyển đổi TF SavedModels sang định dạng TensorFlow Lite. Điều này cho phép bạn triển khai các model của mình trên phạm vi thiết bị rộng lớn, từ điện thoại thông minh và máy tính bảng cho đến vi điều khiển và các thiết bị edge.
-
TensorFlow Runtime: TensorFlow Runtime (
tfrt) là một runtime hiệu suất cao để thực thi các biểu đồ 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 yêu cầu inference độ trễ thấp và tích hợp chặt chẽ với các codebase C++ hiện có.
Link to this sectionXuất các model YOLO26 sang TF SavedModel#
Bằng cách xuất các model YOLO26 sang định dạng TF SavedModel, bạn nâng cao khả năng thích ứng và tính dễ triển khai của chúng trên các nền tảng khác nhau.
Link to this sectionCài đặt#
Để cài đặt gói cần thiết, 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 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 khi cài đặt các gói cần thiết cho YOLO26, nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo Hướng dẫn các vấn đề thường gặp để tìm giải pháp và mẹo.
Link to this sectionCá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.
Định dạng TF SavedModel hỗ trợ các chế độ Export, Predict và Validate. Hãy xuất model của bạn, sau đó tải model đã xuất để chạy inference hoặc xác thực độ chính xác của nó.
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TF SavedModel format
model.export(format="saved_model") # creates '/yolo26n_saved_model'from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TF SavedModel model
model = YOLO("./yolo26n_saved_model")
# Validate accuracy on the COCO8 dataset
metrics = model.val(data="coco8.yaml")Link to this sectionĐối số xuất#
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'saved_model' | Định dạng đích cho model được 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. |
quantize | int hoặc str | None | Độ chính xác lượng tử hóa: 8 (INT8/PTQ; yêu cầu data/fraction để hiệu chuẩn) hoặc 32/không thiết lập (FP32). FP16 không được hỗ trợ cho xuất SavedModel. Thay thế cho flag int8 đã lỗi thời. |
nms | bool | False | Thêm Non-Maximum Suppression (NMS), rất cần thiết cho việc xử lý hậu kỳ phát hiện chính xác và hiệu quả. |
batch | int | 1 | Chỉ định kích thước batch inference của model khi 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), cần thiết cho việc lượng tử hóa (quantization). |
fraction | float | 1.0 | Chỉ định phân đoạn của dataset để 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 hợp con của toàn bộ dataset, hữu ích cho các thử nghiệm hoặc khi tài nguyên 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 của Ultralytics về việc xuất.
Link to this sectionTriển khai các model YOLO26 TF SavedModel đã xuất#
Bây giờ bạn đã xuất model YOLO26 của mình sang định dạng TF SavedModel, bước tiếp theo là triển khai nó. Bước đầu tiên chính và được khuyến nghị để chạy một model 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 chuyên sâu về việc triển khai các model TF SavedModel của bạn, 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 model TF SavedModel của bạn bằng TensorFlow Serving.
-
Run a TensorFlow SavedModel in Node.js: Một bài đăng trên blog TensorFlow về cách chạy trực tiếp TensorFlow SavedModel trong Node.js mà không cần chuyển đổi.
-
Deploying on Cloud: Một bài đăng trên blog TensorFlow về việc triển khai model TensorFlow SavedModel trên Cloud AI Platform.
Link to this sectionTóm tắt#
Trong hướng dẫn này, chúng tôi đã khám phá cách xuất các model 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 model YOLO26 của mình trên nhiều nền tảng khác nhau.
Để 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 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.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionLàm thế nào để tôi xuất một model Ultralytics YOLO sang định dạng TensorFlow SavedModel?#
Việc xuất một model 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 a 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 về Export của Ultralytics để biết thêm chi tiết.
Link to this sectionTạ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 model deployment:
- Tính di động: Nó cung cấp định dạng trung lập về ngôn ngữ, giúp dễ dàng chia sẻ và triển khai model trên các môi trường khác nhau.
- Khả năng 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, rất cần thiết để triển khai model trên nhiều nền tảng, bao gồm cả ứng dụng web và di động.
- Đóng gói hoàn chỉnh: Mã hóa kiến trúc model, 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 các lợi ích và tùy chọn triển khai, hãy xem các tùy chọn triển khai model YOLO của Ultralytics.
Link to this sectionCá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 các môi trường sản xuất yêu cầu phục vụ model 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 model có khả năng mở rộng.
- Mobile and Embedded Devices: Việc sử dụng TensorFlow Lite để chuyển đổi TF SavedModels cho phép triển khai trên thiết bị di động, thiết bị IoT và vi điều khiển.
- TensorFlow Runtime: Dành cho các môi trường C++ cần inference độ 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 các model TensorFlow.
Link to this sectionLàm thế nào để tôi cài đặt các gói cần thiết để xuất các model YOLO26?#
Để xuất các model 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 thực hành tốt 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 sự cố thường gặp của chúng tôi.
Link to this sectionCác tính năng chính của định dạng TensorFlow SavedModel là gì?#
Định dạng TF SavedModel có lợi cho các lập trình viên AI nhờ các tính năng sau:
- Tính di động: Cho phép chia sẻ và triển khai dễ dàng trên nhiều môi trường khác nhau.
- Dễ dàng triển khai: Đóng gói biểu đồ tính toán, các tham số đã huấn luyện và metadata vào một gói duy nhất, giúp đơn giản hóa việc tải và thực thi inference.
- 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 khả dụng khi model được tải.
Để biết thêm chi tiết, hãy khám phá tài liệu TensorFlow chính thức.