Triển khai Ultralytics YOLO các mô hình sử dụng tích hợp ExecuTorch
Khám phá cách xuất khẩu Ultralytics YOLO các mô hình như Ultralytics YOLO11 để định dạng ExecuTorch cho hiệu quả, PyTorch -Triển khai gốc trên các thiết bị di động và biên.
Khám phá cách xuất khẩu Ultralytics YOLO các mô hình như Ultralytics YOLO11 để định dạng ExecuTorch cho hiệu quả, PyTorch -Triển khai gốc trên các thiết bị di động và biên.
Một số ứng dụng thị giác máy tính , như kiểm tra chất lượng tự động, máy bay không người lái tự động hoặc hệ thống an ninh thông minh, hoạt động tốt nhất khi Ultralytics YOLO Các mô hình, như Ultralytics YOLO11 , chạy gần cảm biến để chụp ảnh. Nói cách khác, các mô hình này cần xử lý dữ liệu trực tiếp tại nơi dữ liệu được tạo ra, trên camera, máy bay không người lái hoặc hệ thống nhúng, thay vì gửi dữ liệu lên đám mây.
Phương pháp này, được gọi là AI biên (edge AI) , cho phép các mô hình thực hiện suy luận trực tiếp trên thiết bị nơi dữ liệu được thu thập. Bằng cách xử lý thông tin cục bộ thay vì dựa vào máy chủ từ xa, hệ thống có thể đạt được độ trễ thấp hơn, tăng cường quyền riêng tư dữ liệu và độ tin cậy cao hơn, ngay cả trong môi trường có kết nối internet hạn chế hoặc không có kết nối internet.
Ví dụ, một camera sản xuất kiểm tra hàng nghìn sản phẩm mỗi phút hoặc một máy bay không người lái điều hướng trong các môi trường phức tạp không thể chịu được sự chậm trễ đi kèm với xử lý đám mây. Đang chạy YOLO11 trực tiếp trên thiết bị cho phép suy luận tức thời trên thiết bị.
Để chạy Ultralytics YOLO các mô hình ở rìa dễ dàng hơn và hiệu quả hơn, tích hợp ExecuTorch mới được hỗ trợ bởi Ultralytics cung cấp một cách hợp lý để xuất và triển khai các mô hình trực tiếp đến các thiết bị di động và nhúng. ExecuTorch là một phần của PyTorch Hệ sinh thái biên và cung cấp giải pháp toàn diện để chạy các mô hình AI trực tiếp trên phần cứng di động và biên, bao gồm điện thoại, thiết bị đeo, bo mạch nhúng và bộ vi điều khiển.
Sự tích hợp này giúp dễ dàng thực hiện Ultralytics YOLO mô hình, chẳng hạn như YOLO11 , từ đào tạo đến triển khai trên các thiết bị biên. Bằng cách kết hợp YOLO11 khả năng tầm nhìn của 's với thời gian chạy nhẹ của ExecuTorch và PyTorch đường ống xuất khẩu, người dùng có thể triển khai các mô hình chạy hiệu quả trên phần cứng biên trong khi vẫn bảo toàn độ chính xác và hiệu suất của PyTorch -suy luận dựa trên.
Trong bài viết này, chúng ta sẽ xem xét kỹ hơn cách tích hợp ExecuTorch hoạt động, lý do tại sao nó phù hợp với các ứng dụng AI biên và cách bạn có thể bắt đầu triển khai Ultralytics YOLO mô hình với ExecuTorch. Hãy bắt đầu thôi!
Thông thường, khi bạn đào tạo một mô hình trong PyTorch , nó chạy trên các máy chủ mạnh mẽ hoặc Bộ xử lý đồ họa (GPU) trên đám mây. Tuy nhiên, việc triển khai cùng một mô hình đó trên thiết bị di động hoặc nhúng, chẳng hạn như điện thoại thông minh, máy bay không người lái hoặc vi điều khiển, đòi hỏi một giải pháp chuyên biệt có thể xử lý công suất tính toán, bộ nhớ và kết nối hạn chế.
Đó chính xác là những gì ExecuTorch mang lại. ExecuTorch là giải pháp toàn diện được phát triển như một phần của PyTorch Hệ sinh thái biên cho phép suy luận hiệu quả trên thiết bị trên các nền tảng di động, nhúng và biên. Nó mở rộng PyTorch khả năng vượt ra ngoài đám mây, cho phép các mô hình AI chạy trực tiếp trên các thiết bị cục bộ.
Về bản chất, ExecuTorch cung cấp một thời gian chạy C++ nhẹ cho phép PyTorch các mô hình để thực thi trực tiếp trên thiết bị. ExecuTorch sử dụng PyTorch Định dạng mô hình ExecuTorch (.pte), một định dạng xuất được tối ưu hóa để tải nhanh hơn, chiếm ít bộ nhớ hơn và cải thiện khả năng di động.
Nó hỗ trợ XNNPACK làm phần phụ trợ mặc định cho Bộ xử lý trung tâm hiệu quả ( CPU ) suy luận và mở rộng khả năng tương thích trên nhiều loại phần cứng phụ trợ, bao gồm Core ML , Kim loại, Vulkan, Qualcomm, MediaTek, Arm EthosU, OpenVINO và những người khác.
Các nền tảng này cho phép tăng tốc tối ưu trên các thiết bị di động, nhúng và thiết bị biên chuyên dụng. ExecuTorch cũng tích hợp với PyTorch đường ống xuất khẩu, cung cấp hỗ trợ cho các tính năng nâng cao như lượng tử hóa và xử lý hình dạng động để cải thiện hiệu suất và khả năng thích ứng trên các môi trường triển khai khác nhau.
Lượng tử hóa làm giảm kích thước mô hình và tăng tốc độ suy luận bằng cách chuyển đổi các giá trị có độ chính xác cao (chẳng hạn như số thực 32 bit) thành các giá trị có độ chính xác thấp hơn, trong khi xử lý hình dạng động được sử dụng để cho phép các mô hình xử lý hiệu quả các kích thước đầu vào biến đổi. Cả hai tính năng này đều rất quan trọng để chạy các mô hình AI trên các thiết bị biên có tài nguyên hạn chế.

Ngoài thời gian chạy, ExecuTorch còn hoạt động như một lớp trừu tượng thống nhất cho nhiều backend phần cứng. Nói một cách đơn giản, nó trừu tượng hóa các chi tiết cụ thể của phần cứng và quản lý cách các mô hình tương tác với các đơn vị xử lý khác nhau, bao gồm CPU, GPU và Bộ xử lý thần kinh (NPU).
Sau khi xuất mô hình, ExecuTorch có thể được cấu hình để nhắm mục tiêu đến phần phụ trợ phù hợp nhất cho một thiết bị nhất định. Các nhà phát triển có thể triển khai mô hình hiệu quả trên nhiều phần cứng khác nhau mà không cần viết mã tùy chỉnh cho từng thiết bị hoặc duy trì các quy trình chuyển đổi riêng biệt.
Bởi vì thiết kế dạng mô-đun, di động và liền mạch PyTorch tích hợp, ExecuTorch là một lựa chọn tuyệt vời để triển khai các mô hình thị giác máy tính như Ultralytics YOLO11 cho các hệ thống di động và nhúng. Nó thu hẹp khoảng cách giữa đào tạo mô hình và triển khai thực tế, giúp AI biên nhanh hơn, hiệu quả hơn và dễ triển khai hơn.
Trước khi chúng ta xem xét cách xuất khẩu Ultralytics YOLO mô hình sang định dạng ExecuTorch, hãy cùng khám phá điều gì khiến ExecuTorch trở thành lựa chọn đáng tin cậy để triển khai AI tại biên.
Sau đây là cái nhìn tổng quan về một số tính năng chính của nó:
Bây giờ chúng ta đã hiểu rõ hơn về những gì ExecuTorch cung cấp, hãy cùng tìm hiểu cách xuất Ultralytics YOLO mô hình sang định dạng ExecuTorch.
Để bắt đầu, bạn cần cài đặt gói Ultralytics Python bằng pip, một trình cài đặt gói. Bạn có thể thực hiện việc này bằng cách chạy lệnh "pip install" ultralytics ” trong terminal hoặc dấu nhắc lệnh của bạn.
Nếu bạn đang làm việc trong Jupyter Notebook hoặc Google Môi trường Colab, chỉ cần thêm dấu chấm than trước lệnh, như "!pip install ultralytics ". Sau khi cài đặt, Ultralytics gói cung cấp tất cả các công cụ bạn cần để đào tạo, kiểm tra và xuất các mô hình thị giác máy tính, bao gồm Ultralytics YOLO11 .
Nếu bạn gặp bất kỳ vấn đề nào trong quá trình cài đặt hoặc khi xuất mô hình của mình, hãy liên hệ với chính thức Ultralytics tài liệu hướng dẫn và các vấn đề thường gặp có các bước khắc phục sự cố chi tiết và các biện pháp tốt nhất để giúp bạn vận hành trơn tru.
Sau khi cài đặt Ultralytics gói, bạn có thể tải một biến thể của YOLO11 mô hình và xuất nó sang định dạng ExecuTorch. Ví dụ: bạn có thể sử dụng một mô hình được đào tạo trước như "yolo11n.pt" và xuất nó bằng cách gọi hàm xuất với định dạng được đặt thành "executorch".
Thao tác này sẽ tạo ra một thư mục có tên “yolo11n_executorch_model”, bao gồm tệp mô hình được tối ưu hóa (.pte) và một tệp YAML siêu dữ liệu riêng biệt chứa các thông tin chi tiết quan trọng như kích thước hình ảnh và tên lớp.
Sau đây là mã để xuất mô hình của bạn:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
model.export(format="executorch")
Sau khi xuất, mô hình đã sẵn sàng để triển khai trên các thiết bị biên và di động bằng ExecuTorch runtime. Tệp mô hình .pte đã xuất có thể được tải vào ứng dụng của bạn để chạy suy luận thời gian thực trên thiết bị mà không cần kết nối đám mây.
Ví dụ, đoạn mã dưới đây cho thấy cách tải mô hình đã xuất và chạy suy luận. Suy luận đơn giản có nghĩa là sử dụng một mô hình đã được đào tạo để đưa ra dự đoán dựa trên dữ liệu mới. Ở đây, mô hình được kiểm tra trên hình ảnh một xe buýt lấy từ một URL công khai.
mô hình thực thi = YOLO ("yolo11n_executorch_model")
kết quả = executorch_model.predict("https:// ultralytics .com/images/bus.jpg", lưu = Đúng)
Sau khi chạy mã, bạn sẽ tìm thấy hình ảnh đầu ra với các đối tượng được phát hiện được lưu trong thư mục “runs/ detect thư mục “/predict”.

Trong khi khám phá các tùy chọn xuất khẩu khác nhau được hỗ trợ bởi Ultralytics , bạn có thể tự hỏi điều gì làm nên sự độc đáo của tích hợp ExecuTorch. Điểm khác biệt chính là khả năng kết hợp hiệu suất, tính đơn giản và tính linh hoạt, giúp dễ dàng triển khai các mô hình AI mạnh mẽ trực tiếp trên thiết bị di động và thiết bị biên.
Sau đây là một số lợi ích chính khi sử dụng tích hợp ExecuTorch:
Gần đây, Ultralytics được công nhận là câu chuyện thành công PyTorch ExecuTorch , nêu bật sự hỗ trợ ban đầu của chúng tôi cho suy luận trên thiết bị và những đóng góp liên tục cho PyTorch hệ sinh thái. Sự công nhận này phản ánh mục tiêu chung là làm cho AI hiệu suất cao dễ tiếp cận hơn trên nền tảng di động và biên.
Trên thực tế, giải pháp này trông giống như các giải pháp AI thị giác thực tế, hoạt động hiệu quả trên mọi thiết bị, từ điện thoại thông minh đến hệ thống nhúng. Ví dụ, trong sản xuất, các thiết bị biên đóng vai trò quan trọng trong việc giám sát dây chuyền sản xuất và phát hiện lỗi theo thời gian thực.

Thay vì gửi hình ảnh hoặc dữ liệu cảm biến lên đám mây để xử lý, điều này có thể gây ra sự chậm trễ và phụ thuộc vào kết nối internet, tích hợp ExecuTorch cho phép YOLO11 các mô hình chạy trực tiếp trên phần cứng cục bộ. Điều này có nghĩa là các nhà máy có thể detect giải quyết các vấn đề về chất lượng ngay lập tức, giảm thời gian ngừng hoạt động và duy trì quyền riêng tư dữ liệu, đồng thời vận hành với tài nguyên tính toán hạn chế.
Dưới đây là một số ví dụ khác về cách tích hợp ExecuTorch và Ultralytics YOLO các mô hình có thể được áp dụng:

Xuất khẩu Ultralytics YOLO Việc chuyển đổi mô hình sang định dạng ExecuTorch giúp dễ dàng triển khai các mô hình thị giác máy tính trên nhiều thiết bị, bao gồm điện thoại thông minh, máy tính bảng và các hệ thống nhúng như Raspberry Pi. Điều này có nghĩa là có thể chạy suy luận trên thiết bị được tối ưu hóa mà không cần dựa vào kết nối đám mây, cải thiện tốc độ, quyền riêng tư và độ tin cậy.
Cùng với ExecuTorch, Ultralytics hỗ trợ nhiều loại tích hợp, bao gồm TensorRT , OpenVINO , CoreML và hơn thế nữa, mang đến cho các nhà phát triển sự linh hoạt để chạy mô hình của họ trên nhiều nền tảng. Khi việc áp dụng Vision AI ngày càng tăng, những tích hợp này sẽ đơn giản hóa việc triển khai các hệ thống thông minh được xây dựng để hoạt động hiệu quả trong điều kiện thực tế.
Bạn tò mò về AI? Hãy xem kho lưu trữ GitHub của chúng tôi, tham gia cộng đồng của chúng tôi và khám phá các tùy chọn cấp phép để khởi động dự án Vision AI của bạn. Tìm hiểu thêm về các đổi mới như AI trong bán lẻ và thị giác máy tính trong hậu cần bằng cách truy cập trang giải pháp của chúng tôi.