YOLO11 Xuất mô hình sang TorchScript để triển khai nhanh chóng
Triển khai các mô hình thị giác máy tính trên nhiều môi trường khác nhau, bao gồm các hệ thống nhúng, trình duyệt web hoặc nền tảng có giới hạn Python hỗ trợ, đòi hỏi một giải pháp linh hoạt và di động. TorchScript tập trung vào tính di động và khả năng chạy các mô hình trong môi trường mà toàn bộ Python framework không khả dụng. Điều này làm cho nó trở nên lý tưởng cho các tình huống mà bạn cần triển khai khả năng thị giác máy tính của mình trên nhiều thiết bị hoặc nền tảng khác nhau.
Xuất khẩu sang Torchscript để tuần tự hóa các mô hình Ultralytics YOLO11 của bạn để 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 YOLO11 các mô hình cho TorchScript định dạng, giúp bạn dễ dàng sử dụng chúng trong nhiều ứng dụng hơn.
Tại sao bạn nên xuất khẩu sang TorchScript ?
Được phát triển bởi những người sáng tạo ra PyTorch , TorchScript là một công cụ mạnh mẽ để tối ưu hóa và triển khai PyTorch các mô hình trên nhiều nền tảng khác nhau. Xuất khẩu YOLO11 việc chuyển đổi mô hình sang TorchScript rất quan trọng để chuyển từ nghiên cứu sang ứng dụng thực tế. TorchScript , một phần của PyTorch khuôn khổ, giúp cho quá trình chuyển đổi này diễn ra suôn sẻ hơn bằng cách cho phép PyTorch các mô hình đượ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: theo dõi và viết kịch bản. Theo dõi ghi lại các hoạt động trong quá trình thực hiện mô hình, trong khi viết kịch bản cho phép định nghĩa các mô hình bằng cách sử dụng một tập hợp con Python . Các kỹ thuật này đảm bảo rằng các mô hình như YOLO11 vẫn có thể làm phép thuật của họ ngay cả ngoài những điều bình thường Python môi trường.
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 hiện hiệu quả. Một lợi thế khác của việc xuất sang TorchScript là tiềm năng của nó để tăng tốc thực hiện mô hình trên nhiều 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 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 , một phần quan trọng của PyTorch hệ sinh thái, 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 học sâu .
Dưới đây là những tính năng chính làm 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 phép tính của mô hình, khác với PyTorch thự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 cải thiện hiệu suất trong quá trình suy luận.
-
Mô hình tuần tự hóa : TorchScript cho phép bạn tuần tự 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 được tuần tự hóa có thể được tải mà không cần 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 dịch JIT : TorchScript sử dụng biên dịch Just-In-Time (JIT) để chuyển đổi PyTorch mô hình thành 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 hiện hiệu quả trên các thiết bị mục tiêu.
-
Tích hợp đa ngôn ngữ : Với TorchScript , bạn có thể xuất khẩu PyTorch mô hình sang các ngôn ngữ khác như C++, Java và JavaScript. Điều này giúp tích hợp dễ dàng hơn PyTorch mô hình vào 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 một phương pháp 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
Trước khi chúng ta xem xét mã để xuất YOLO11 các mô hình cho TorchScript định dạng, chúng ta hãy hiểu nơi TorchScript các mô hình thường được sử dụng.
TorchScript cung cấp nhiều tùy chọn triển khai khác nhau cho các mô hình học máy , chẳng hạn như:
-
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 các môi trường sản xuất nơi Python có thể không phù hợp hoặc không khả dụng. API C++ cung cấp chi phí thấp và thực hiện hiệu quả TorchScript mô hình, tối đa hóa tiềm năng hiệu suất.
-
Triển khai di động : TorchScript cung cấp các công cụ để chuyển đổi mô hình sang các định dạng có thể triển khai dễ dàng trên thiết bị di động. PyTorch Di động cung cấp thời gian chạy để thực hiện các mô hình này trong iOS Và Android ứng dụng. Điều này cho phép khả năng suy luận ngoại tuyến, độ trễ thấp, nâng cao trải nghiệm người dùng và quyền riêng tư dữ liệu .
-
Triển khai đám mây : TorchScript các mô hình có thể được triển khai tới các máy chủ đám mây bằ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, xử lý hàng loạt 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.
Xuất khẩu sang TorchScript : Chuyển đổi của bạn YOLO11 Người mẫu
Xuất khẩu YOLO11 mô hình để TorchScript giúp sử dụng chúng dễ dàng hơn ở 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 học sâu hiệu quả hơn trong các ứng dụng thực tế.
Cài đặt
Để cài đặt gói cần thiết, hãy chạy:
Để biết hướng dẫn chi tiết và các biện 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 khi cài đặt các gói cần thiết cho YOLO11 , nếu bạn gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Sự cố thường gặp của chúng tôi để biết giải pháp và mẹo.
Cách sử dụng
Trước khi tìm hiểu hướng dẫn sử dụng, điều quan trọng cần lưu ý là mặc dù tất cả các mẫu Ultralytics YOLO11 đều có thể xuất, nhưng bạn có thể đảm bảo rằng mẫu bạn chọn có hỗ trợ chức năng xuất tại đây .
Cách 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 trang tài liệu Ultralytics về xuất .
Triển khai Đã xuất YOLO11 TorchScript Mô hình
Sau khi xuất thành công Ultralytics YOLO11 mô hình để TorchScript định dạng, bây giờ bạn có thể triển khai chúng. Bước đầu tiên chính và được khuyến nghị để chạy TorchScript mô hình là sử dụng YOLO ("người mẫu. torchscript "), như đã nêu trong đoạn mã sử dụng trước đó. Tuy nhiên, để biết hướng dẫn chi tiết về việc triển khai TorchScript các mô hình trong nhiều bối cảnh khác nhau, hãy xem các tài nguyên sau:
-
Khám phá triển khai trên thiết bị di động : Tài liệu PyTorch Mobile cung cấp hướng dẫn toàn diện về việc triển khai các mô hình trên thiết bị di động, đảm bảo ứng dụng của bạn hiệu quả và phản hồi nhanh.
-
Triển khai thành thạo phía máy chủ : Tìm hiểu cách triển khai mô hình phía máy chủ bằng TorchServe, cung cấp hướng dẫn từng bước để phục vụ mô hình hiệu quả và có khả năng mở rộng.
-
Triển khai C++ : Tìm hiểu Hướng dẫn về Tải một TorchScript Mô hình trong C++, tạo điều kiện thuận lợi cho việc tích hợp của bạn 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.
Bản tóm tắt
Trong hướng dẫn này, chúng tôi đã khám phá quá trình xuất khẩu Ultralytics YOLO11 các mô hình cho TorchScript định dạng. 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 YOLO11 các mô hình hiệu suất 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ề những điều khác Ultralytics YOLO11 tích hợp, 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 nhiều tài nguyên và thông tin hữu ích ở đó.
CÂU HỎI THƯỜNG GẶP
Là gì Ultralytics YOLO11 mô hình xuất khẩu sang TorchScript ?
Xuất khẩu một Ultralytics YOLO11 mô hình để TorchScript cho phép triển khai linh hoạt, đa nền tảng. TorchScript , một phần của PyTorch hệ sinh thái, tạo điều kiện cho việc tuần tự hóa các mô hình, sau đó có thể được thực hiện trong các môi trường thiếu Python hỗ trợ. Điều này làm cho nó lý tưởng để triển khai các mô hình trên các hệ thống nhúng, môi trường C++, ứng dụng di động và thậm chí cả trình duyệt web. Xuất sang TorchScript cho phép hiệu suất hiệu quả và khả năng ứng dụng rộng rãi hơn của bạn YOLO11 mô hình trên nhiều nền tảng khác nhau.
Làm thế nào tôi có thể xuất khẩu của tôi YOLO11 mô hình để TorchScript sử dụng Ultralytics ?
Để xuất khẩu một YOLO11 mô hình để TorchScript , bạn có thể sử dụng mã ví dụ sau:
Cách 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 tài liệu Ultralytics về việc xuất .
Tại sao tôi nên sử dụng TorchScript để triển khai YOLO11 mô hình?
Sử dụng TorchScript để triển khai YOLO11 mô hình cung cấp một số lợi thế:
- Tính di động : Các mô hình được 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.
- 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 không phụ thuộc vào nền tảng.
Để biết thêm thông tin chi tiết về triển khai, hãy truy cập Tài liệu PyTorch Mobile , Tài liệu TorchServe và Hướng dẫn triển khai C++ .
Các bước cài đặt để xuất là gì? YOLO11 mô hình để TorchScript ?
Để cài đặt gói cần thiết cho việc xuất YOLO11 mô hình, sử dụng lệnh sau:
Để 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 .
Làm thế nào để triển khai xuất khẩu của tôi TorchScript YOLO11 mô hình?
Sau khi xuất khẩu YOLO11 các mô hình cho TorchScript định dạng, bạn có thể triển khai chúng trên nhiều nền tảng khác nhau:
- API C++ : Lý tưởng cho môi trường sản xuất có chi phí thấp, hiệu quả cao.
- Triển khai di động : Sử dụng PyTorch Mobile cho iOS Và Android ứng dụng.
- Triển khai trên nền tảng đám mây : Sử dụng các dịch vụ như TorchServe để triển khai trên 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 TorchScript khả năng của.