Link to this sectionXuất mô hình YOLO26 sang TorchScript để triển khai nhanh#
PyTorch đã deprecated TorchScript và đang dần xóa bỏ các tính năng của nó. Đối với các bản triển khai mobile và edge mới, hãy sử dụng ExecuTorch integration được hỗ trợ. Ultralytics duy trì việc xuất TorchScript thông thường để tương thích với các ứng dụng C++ cũ.
Việc triển khai các model computer vision trong môi trường C++ không có Python yêu cầu một bản biểu diễn được tuần tự hóa có tính di động. TorchScript cung cấp khả năng tương thích đó cho các ứng dụng LibTorch cũ.
Xuất sang TorchScript để tuần tự hóa các mô hình Ultralytics YOLO26 nhằm đạt được khả năng tương thích đa nền tảng và triển khai hợp lý. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách xuất các mô hình YOLO26 của mình sang định dạng TorchScript, giúp bạn dễ dàng sử dụng chúng trên phạm vi ứng dụng rộng lớn hơn.
Link to this sectionTại sao bạn nên xuất sang TorchScript?#

Được phát triển bởi những người tạo ra PyTorch, TorchScript là một công cụ mạnh mẽ để tối ưu hóa và triển khai các mô hình PyTorch trên nhiều nền tảng. Việc xuất các mô hình YOLO26 sang TorchScript là rất quan trọng để chuyển từ nghiên cứu sang các ứng dụng thực tế. TorchScript, một phần của framework PyTorch, giúp quá trình chuyển đổi này mượt mà hơn bằng cách cho phép các mô hình PyTorch được sử dụng trong các môi trường không hỗ trợ Python.
Quá trình này bao gồm hai kỹ thuật: tracing (theo vết) và scripting (viết kịch bản). Tracing ghi lại các thao tác trong quá trình thực thi mô hình, trong khi scripting cho phép định nghĩa các mô hình bằng cách sử dụng một tập con của Python. Những kỹ thuật này đảm bảo rằng các mô hình như YOLO26 vẫn có thể phát huy tác dụng ngay cả bên ngoài môi trường Python thông thường của chúng.

Các model TorchScript cũng có thể được tối ưu hóa thông qua các kỹ thuật như hợp nhất toán tử (operator fusion) và tinh chỉnh mức sử dụng bộ nhớ, đảm bảo hiệu suất thực thi cao. Một lợi thế khác của việc xuất sang TorchScript là khả năng tăng tốc thực thi model trên nhiều nền tảng phần cứng khác nhau. Nó tạo ra một bản biểu diễn độc lập, sẵn sàng cho môi trường production của model PyTorch của bạn, có thể tích hợp vào các môi trường C++.
Link to this sectionCác tính năng chính của các mô hình TorchScript#
TorchScript, một phần quan trọng trong hệ sinh thái PyTorch, cung cấp các tính năng mạnh mẽ để tối ưu hóa và triển khai các mô hình deep learning.

Dưới đây là các tính năng chính khiến TorchScript trở thành một công cụ giá trị cho các nhà phát triển:
-
Thực thi đồ thị tĩnh (Static Graph Execution): TorchScript sử dụng biểu diễn đồ thị tĩnh của quá trình tính toán mô hình, khác với cách thực thi đồ thị động của PyTorch. Trong thực thi đồ thị tĩnh, đồ thị tính toán được định nghĩa và biên dịch một lần trước khi thực thi thực tế, dẫn đến hiệu suất tốt hơn trong quá trình suy luận (inference).
-
Tuần tự hóa mô hình (Model Serialization): TorchScript cho phép bạn tuần tự hóa các mô hình PyTorch thành một định dạng độc lập với nền tảng. Các mô hình đã tuần tự hóa có thể được tải mà không cần mã nguồn Python gốc, cho phép triển khai trong các môi trường chạy (runtime) khác nhau.
-
Biên dịch JIT (JIT Compilation): TorchScript sử dụng biên dịch Just-In-Time (JIT) để chuyển đổi các mô hình PyTorch thành một biểu diễn trung gian được tối ưu hóa. JIT biên dịch đồ thị tính toán của mô hình, cho phép thực thi hiệu quả trên các thiết bị mục tiêu.
-
Chuyển đổi dần dần: TorchScript cung cấp phương pháp tiếp cận chuyển đổi dần dần, cho phép bạn tăng cường chuyển đổi từng phần mô hình PyTorch của mình sang TorchScript. Sự linh hoạt này đặc biệt hữu ích khi xử lý các mô hình phức tạp hoặc khi bạn muốn tối ưu hóa các phần cụ thể của mã.
Link to this sectionCác tùy chọn triển khai trong TorchScript#
Trước khi xem xét mã để xuất mô hình YOLO26 sang định dạng TorchScript, hãy cùng tìm hiểu nơi các mô hình TorchScript thường được sử dụng.
TorchScript cung cấp nhiều tùy chọn triển khai cho các mô hình machine learning, chẳng hạn như:
-
C++ API: Trường hợp sử dụng phổ biến nhất của TorchScript là LibTorch C++ API, cho phép bạn load và thực thi các model TorchScript đã được tối ưu hóa trực tiếp trong các ứng dụng C++. Điều này rất lý tưởng cho các môi trường production nơi Python có thể không phù hợp hoặc không khả dụng. C++ API cung cấp khả năng thực thi model TorchScript hiệu quả với overhead thấp, tối đa hóa tiềm năng hiệu suất.
-
Mobile Deployment: Đối với suy luận offline, độ trễ thấp và data privacy trên thiết bị mobile, hãy sử dụng ExecuTorch, sự thay thế của PyTorch cho TorchScript Mobile.
-
Triển khai trên đám mây (Cloud Deployment): Các mô hình TorchScript có thể được triển khai trên các máy chủ dựa trên đám mây sử dụng các giải pháp như TorchServe. Nó cung cấp các tính năng như phiên bản mô hình, batching, và giám sát số liệu để triển khai có thể mở rộng trong các môi trường sản xuất. Triển khai đám mây với TorchScript có thể làm cho các mô hình của bạn có thể truy cập được thông qua API hoặc các dịch vụ web khác.
Link to this sectionXuất sang TorchScript: Chuyển đổi mô hình YOLO26 của bạn#
Việc xuất các mô hình YOLO26 sang TorchScript giúp dễ dàng sử dụng chúng ở nhiều nơi khác nhau và giúp chúng chạy nhanh hơn và hiệu quả hơn. Điều này rất tuyệt vời cho bất kỳ ai muốn sử dụng các mô hình deep learning hiệu quả hơn trong các ứng dụng thực tế.
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 TorchScript hỗ trợ các chế độ Export, Predict, và Validate. Xuất mô hình của bạn, sau đó tải mô hình đã xuất để chạy suy luận 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 TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")from ultralytics import YOLO
# Load the exported TorchScript model
model = YOLO("yolo26n.torchscript")
# 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 | 'torchscript' | Đị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ể. |
dynamic | bool | False | Cho phép kích thước đầu vào động, tăng tính linh hoạt trong việc xử lý các kích thước hình ảnh khác nhau. |
quantize | int hoặc str | None | Độ chính xác lượng tử hóa: 16 (FP16) yêu cầu xuất trên GPU với device=0; 32/không thiết lập là FP32. Thay thế cho flag half đã bị loại bỏ. |
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. |
device | str | None | Chỉ định thiết bị để xuất: GPU (device=0), 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 mô hình YOLO26 TorchScript đã xuất#
Sau khi xuất thành công các mô hình Ultralytics YOLO26 sang định dạng TorchScript, bạn hiện có thể triển khai chúng. Bước đầu tiên quan trọng và được khuyến nghị để chạy một mô hình TorchScript là sử dụng phương thức YOLO("model.torchscript"), như đã nêu trong đoạn mã ví dụ sử dụng trước đó. Để có hướng dẫn chuyên sâu về việc triển khai các mô hình TorchScript của bạn trong các cài đặt khác, hãy xem các tài nguyên sau:
-
Explore Mobile Deployment: Sử dụng pipeline
torch.export()→.pteriêng biệt của ExecuTorch cho việc triển khai mobile trên PyTorch hiện tại. -
Làm chủ triển khai phía máy chủ: Tìm hiểu cách triển khai mô hình ở phía máy chủ với TorchServe, cung cấp hướng dẫn từng bước để phục vụ mô hình có thể mở rộng và hiệu quả.
-
Triển khai C++: Đi sâu vào Hướng dẫn về cách tải mô hình TorchScript trong C++, tạo điều kiện tích hợp các mô hình TorchScript của bạn vào các ứng dụng C++ để tăng hiệu suất và tính linh hoạt.
Link to this sectionTóm tắt#
Trong hướng dẫn này, chúng tôi đã khám phá quy trình xuất các mô hình Ultralytics YOLO26 sang định dạng TorchScript. Bằng cách làm theo các hướng dẫn được cung cấp, bạn có thể tối ưu hóa các mô hình YOLO26 để đạt hiệu suất cao và có được sự linh hoạt để triển khai chúng trên nhiều nền tảng và môi trườ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 của TorchScript.
Ngoài ra, nếu bạn muốn biết thêm về các tích hợp Ultralytics YOLO26 khác, hãy truy cập trang hướng dẫn tích hợp của chúng tôi. Bạn sẽ tìm thấy rất nhiều tài nguyên và thông tin hữu ích ở đó.
Link to this sectionCâu hỏi thường gặp#
Link to this sectionViệc xuất mô hình Ultralytics YOLO26 sang TorchScript là gì?#
Việc xuất model Ultralytics YOLO26 sang TorchScript cho phép triển khai linh hoạt, đa nền tảng. TorchScript, một phần của hệ sinh thái PyTorch, hỗ trợ việc tuần tự hóa (serialization) các model, sau đó có thể được thực thi trong các môi trường thiếu hỗ trợ Python. Điều này giúp ích cho việc triển khai các model trong môi trường C++.
Link to this sectionLàm cách nào để xuất mô hình YOLO26 sang TorchScript bằng Ultralytics?#
Để xuất mô hình YOLO26 sang TorchScript, bạn có thể sử dụng mã ví dụ sau:
from ultralytics import YOLO
# Load a YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo26n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo26n.torchscript")
# Run inference
results = torchscript_model("https://ultralytics.com/images/bus.jpg")Để biết thêm chi tiết về quy trình xuất, hãy tham khảo tài liệu Ultralytics về xuất mô hình.
Link to this sectionTại sao tôi nên sử dụng TorchScript để triển khai các mô hình YOLO26?#
Sử dụng TorchScript để triển khai các mô hình YOLO26 mang lại một số lợi ích:
- Portability: Các model đã xuất có thể chạy trong các ứng dụng C++ mà không cần Python.
- Tối ưu hóa: TorchScript hỗ trợ thực thi đồ thị tĩnh và biên dịch Just-In-Time (JIT), có thể tối ưu hóa hiệu suất mô hình.
- Tích hợp đa ngôn ngữ: Các mô hình TorchScript có thể được tích hợp vào các ngôn ngữ lập trình khác, tăng cường tính linh hoạt và khả năng mở rộng.
- Tuần tự hóa: Các mô hình có thể được tuần tự hóa, cho phép tải và suy luận độc lập với nền tảng.
Để có thêm thông tin chi tiết về triển khai, hãy truy cập Tài liệu TorchServe và Hướng dẫn triển khai C++. Đối với việc triển khai trên thiết bị di động, PyTorch hiện khuyến nghị sử dụng ExecuTorch, sử dụng pipeline torch.export() → .pte riêng biệt thay vì TorchScript.
Link to this sectionCác bước cài đặt để xuất các mô hình YOLO26 sang TorchScript là gì?#
Để cài đặt gói cần thiết cho việc xuất các mô hình YOLO26, hãy sử dụng lệnh sau:
# Install the required package for YOLO26
pip install ultralyticsĐể biết hướng dẫn chi tiết, hãy truy cập Hướng dẫn cài đặt Ultralytics. Nếu có bất kỳ vấn đề nào phát sinh trong quá trình cài đặt, hãy tham khảo Hướng dẫn các vấn đề thường gặp.
Link to this sectionLàm cách nào để triển khai các mô hình TorchScript YOLO26 đã xuất của tôi?#
Sau khi xuất các mô hình YOLO26 sang định dạng TorchScript, bạn có thể triển khai chúng trên nhiều nền tảng:
- C++ API: Sử dụng LibTorch cho các môi trường production hiệu suất cao với overhead thấp.
- Mobile Deployment: Sử dụng ExecuTorch, sự thay thế được PyTorch hỗ trợ với pipeline xuất
.pteriêng biệt. - Triển khai đám mây: Sử dụng các dịch vụ như TorchServe để triển khai phía máy chủ có khả năng mở rộng.
Khám phá các hướng dẫn toàn diện để triển khai các mô hình trong các cài đặt này để tận dụng tối đa các khả năng của TorchScript.