YOLO11 Model Export to TorchScript for Quick Deployment
Deploying computer vision models across different environments, including embedded systems, web browsers, or platforms with limited Python support, requires a flexible and portable solution. TorchScript focuses on portability and the ability to run models in environments where the entire Python framework is unavailable. This makes it ideal for scenarios where you need to deploy your computer vision capabilities across various devices or platforms.
Export to Torchscript to serialize your Ultralytics YOLO11 models for cross-platform compatibility and streamlined deployment. In this guide, we'll show you how to export your YOLO11 models to the TorchScript format, making it easier for you to use them across a wider range of applications.
Tại sao bạn nên xuất sang TorchScript?
Developed by the creators of PyTorch, TorchScript is a powerful tool for optimizing and deploying PyTorch models across a variety of platforms. Exporting YOLO11 models to TorchScript is crucial for moving from research to real-world applications. TorchScript, part of the PyTorch framework, helps make this transition smoother by allowing PyTorch models to be used in environments that don't support Python.
The process involves two techniques: tracing and scripting. Tracing records operations during model execution, while scripting allows for the definition of models using a subset of Python. These techniques ensure that models like YOLO11 can still work their magic even outside their usual Python environment.
TorchScript Các mô hình 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ử và tinh chỉnh trong việc sử dụng bộ nhớ, đảm bảo thực thi hiệu quả. Một lợi thế khác của xuất khẩu sang TorchScript là tiềm năng của nó để tăng tốc độ thực hiện mô hình trên các nền tảng phần cứng khác nhau. Nó tạo ra một đại diện độc lập, sẵn sàng sản xuất của bạn PyTorch mô hình có thể được tích hợp vào môi trường C ++, hệ thống nhúng hoặc được triển khai trong các ứng dụng web hoặc di động.
Các tính năng chính của TorchScript Mô hình
TorchScript, a key part of the PyTorch ecosystem, provides powerful features for optimizing and deploying deep learning models.
Dưới đây là các tính năng chính tạo nên TorchScript Một công cụ có giá trị cho các nhà phát triển:
-
Thực thi đồ thị tĩnh: TorchScript sử dụng biểu diễn đồ thị tĩnh của tính toán của mô hình, khác với PyTorchthực thi đồ thị động. Trong thực thi đồ thị tĩnh, đồ thị tính toán được xác định 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 được cải thiện trong quá trình suy luận.
-
Lập số sê-ri hóa mô hình: TorchScript cho phép bạn lập số sê-ri hóa PyTorch mô hình thành một định dạng độc lập với nền tảng. Các mô hình nối tiếp có thể được tải mà không yêu cầu bản gốc Python mã, cho phép triển khai trong các môi trường thời gian chạy khác nhau.
-
Biên soạn JIT: TorchScript sử dụng biên dịch Just-In-Time (JIT) để chuyển đổi PyTorch mô hình thành một đại diện trung gian được tối ưu hóa. JIT biên dịch biểu đồ tính toán của mô hình, cho phép thực hiện hiệu quả trên các thiết bị đích.
-
Tích hợp đa ngôn ngữ: với TorchScript, bạn có thể xuất PyTorch mô hình cho các ngôn ngữ khác như C ++, Java và JavaScript. Điều này làm cho nó dễ dàng hơn để tích hợp PyTorch mô hình hóa thành các hệ thống phần mềm hiện có được viết bằng các ngôn ngữ khác nhau.
-
Chuyển đổi dần dần: TorchScript Cung cấp cách tiếp cận chuyển đổi dần dần, cho phép bạn chuyển đổi từng phần của mình PyTorch Mô hình thành TorchScript. Tính 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ã.
Tùy chọn triển khai trong TorchScript
Before we look at the code for exporting YOLO11 models to the TorchScript format, let's understand where TorchScript models are normally used.
TorchScript offers various deployment options for machine learning models, such as:
-
API C++: Trường hợp sử dụng phổ biến nhất cho TorchScript là API C ++ của nó, cho phép bạn tải và thực thi được tối ưu hóa TorchScript mô hình trực tiếp trong các ứng dụng C ++. Điều này lý tưởng cho môi trường sản xuất nơi Python có thể không phù hợp hoặc có sẵn. API C ++ cung cấp chi phí thấp và thực thi hiệu quả TorchScript mô hình, tối đa hóa tiềm năng hiệu suất.
-
Mobile Deployment: TorchScript offers tools for converting models into formats readily deployable on mobile devices. PyTorch Mobile provides a runtime for executing these models within iOS and Android apps. This enables low-latency, offline inference capabilities, enhancing user experience and data privacy.
-
Triển khai đám mây: TorchScript Các mô hình có thể được triển khai cho các máy chủ dựa trên đám mây bằng các giải pháp như TorchServe. Nó cung cấp các tính năng như lập phiên bản mô hình, phân lô và giám sát số liệu để triển khai có thể mở rộng trong môi trường sản xuất. Triển khai đám mây với TorchScript có thể làm cho 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.
Export to TorchScript: Converting Your YOLO11 Model
Exporting YOLO11 models to TorchScript makes it easier to use them in different places and helps them run faster and more efficiently. This is great for anyone looking to use deep learning models more effectively in real-world applications.
Cài đặt
Để cài đặt gói yêu cầu, hãy chạy:
For detailed instructions and best practices related to the installation process, check our Ultralytics Installation guide. While installing the required packages for YOLO11, if you encounter any difficulties, consult our Common Issues guide for solutions and tips.
Sử dụng
Before diving into the usage instructions, it's important to note that while all Ultralytics YOLO11 models are available for exporting, you can ensure that the model you select supports export functionality here.
Sử dụng
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.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 truy cập Ultralytics trang tài liệu về xuất khẩu.
Deploying Exported YOLO11 TorchScript Models
After successfully exporting your Ultralytics YOLO11 models to TorchScript format, you can now deploy them. The primary and recommended first step for running a TorchScript model is to utilize the YOLO("model.torchscript") method, as outlined in the previous usage code snippet. However, for in-depth instructions on deploying your TorchScript models in various other settings, take a look at the following resources:
-
Explore Mobile Deployment: The PyTorch Mobile Documentation provides comprehensive guidelines for deploying models on mobile devices, ensuring your applications are efficient and responsive.
-
Triển khai phía máy chủ chính: Tìm hiểu cách triển khai các 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 hiệu quả, có thể mở rộng.
-
Triển khai triển khai C ++: Đi sâu vào hướng dẫn về tải một TorchScript Mô hình trong C ++, tạo điều kiện tích hợp TorchScript mô hình hóa thành các ứng dụng C ++ để nâng cao hiệu suất và tính linh hoạt.
Tóm tắt
In this guide, we explored the process of exporting Ultralytics YOLO11 models to the TorchScript format. By following the provided instructions, you can optimize YOLO11 models for performance and gain the flexibility to deploy them across various platforms and environments.
Để biết thêm chi tiết về cách sử dụng, hãy truy cập TorchScripttài liệu chính thức của họ.
Also, if you'd like to know more about other Ultralytics YOLO11 integrations, visit our integration guide page. You'll find plenty of useful resources and insights there.
FAQ
What is Ultralytics YOLO11 model export to TorchScript?
Exporting an Ultralytics YOLO11 model to TorchScript allows for flexible, cross-platform deployment. TorchScript, a part of the PyTorch ecosystem, facilitates the serialization of models, which can then be executed in environments that lack Python support. This makes it ideal for deploying models on embedded systems, C++ environments, mobile applications, and even web browsers. Exporting to TorchScript enables efficient performance and wider applicability of your YOLO11 models across diverse platforms.
How can I export my YOLO11 model to TorchScript using Ultralytics?
To export a YOLO11 model to TorchScript, you can use the following example code:
Sử dụng
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Export the model to TorchScript format
model.export(format="torchscript") # creates 'yolo11n.torchscript'
# Load the exported TorchScript model
torchscript_model = YOLO("yolo11n.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 Ultralytics tài liệu về xuất khẩu.
Why should I use TorchScript for deploying YOLO11 models?
Using TorchScript for deploying YOLO11 models offers several advantages:
- Tính di động: Các mô hình đã xuất có thể chạy trong môi trường mà không cần Python, chẳng hạn như ứng dụng C++, hệ thống nhúng hoặc thiết bị di động.
- 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ữ: TorchScript Các mô hình 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.
- Lập số sê-ri: Các mô hình có thể được lập số sê-ri, cho phép tải và suy luận độc lập với nền tảng.
Để biết thêm thông tin chi tiết về việc triển khai, hãy truy cập PyTorch Tài liệu di động, Tài liệu TorchServe và Hướng dẫn triển khai C ++.
What are the installation steps for exporting YOLO11 models to TorchScript?
To install the required package for exporting YOLO11 models, use the following command:
Để được hướng dẫn chi tiết, hãy truy cập Ultralytics Hướng dẫn cài đặt. Nếu có bất kỳ sự cố 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.
How do I deploy my exported TorchScript YOLO11 models?
After exporting YOLO11 models to the TorchScript format, you can deploy them across a variety of platforms:
- API C ++: Lý tưởng cho môi trường sản xuất chi phí thấp, hiệu quả cao.
- Triển khai di động: Sử dụng PyTorch Di động cho iOS và Android Ứng dụng.
- 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ó thể 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 TorchScript'khả năng của nó.