Ultralytics YOLO NCNN Xuất khẩu
Việc triển khai các mô hình thị giác máy tính trên các thiết bị có khả năng tính toán hạn chế, chẳng hạn như thiết bị di động hoặc hệ thống nhúng, đòi hỏi phải lựa chọn định dạng cẩn thận. Sử dụng định dạng được tối ưu hóa đảm bảo rằng ngay cả các thiết bị có tài nguyên hạn chế cũng có thể xử lý các tác vụ thị giác máy tính nâng cao một cách hiệu quả.
Việc xuất sang định dạng NCNN cho phép bạn tối ưu hóa các mô hình Ultralytics YOLO26 của mình cho các ứng dụng nhẹ dựa trên thiết bị. Hướng dẫn này bao gồm cách chuyển đổi các mô hình của bạn sang định dạng NCNN để cải thiện hiệu suất trên thiết bị di động và nhúng.
Tại sao nên xuất khẩu sang NCNN ?

Framework NCNN, được phát triển bởi Tencent, là một framework tính toán suy luận neural network hiệu suất cao được tối ưu hóa đặc biệt cho các nền tảng di động, bao gồm điện thoại di động, thiết bị nhúng và thiết bị IoT. NCNN tương thích với nhiều nền tảng, bao gồm Linux, Android, iOS và macOS.
NCNN Nó nổi tiếng với tốc độ xử lý nhanh trên CPU di động và cho phép triển khai nhanh chóng các mô hình học sâu lên nền tảng di động, khiến nó trở thành lựa chọn tuyệt vời để xây dựng các ứng dụng hỗ trợ trí tuệ nhân tạo.
Các tính năng chính của mô hình NCNN
NCNN Các mô hình cung cấp một số tính năng chính cho phép học máy trên thiết bị, giúp các nhà phát triển triển khai các mô hình trên thiết bị di động, thiết bị nhúng và thiết bị biên:
Hiệu quả và hiệu suất cao : NCNN Các mô hình này có dung lượng nhỏ và được tối ưu hóa cho các thiết bị di động và thiết bị nhúng như Raspberry Pi với tài nguyên hạn chế, đồng thời vẫn duy trì độ chính xác cao trong các tác vụ thị giác máy tính.
Lượng tử hóa : NCNN Hỗ trợ lượng tử hóa, một kỹ thuật làm giảm độ chính xác của trọng số và kích hoạt mô hình để cải thiện hiệu suất và giảm dung lượng bộ nhớ sử dụng.
Khả năng tương thích : NCNN Các mô hình này tương thích với các framework học sâu phổ biến như TensorFlow , Caffe và ONNX , cho phép các nhà phát triển tận dụng các mô hình và quy trình làm việc hiện có.
Dễ sử dụng : NCNN Cung cấp các công cụ thân thiện với người dùng để chuyển đổi mô hình giữa các định dạng, đảm bảo khả năng tương tác mượt mà giữa các môi trường phát triển khác nhau.
Tăng tốc GPU bằng Vulkan : NCNN Hỗ trợ Vulkan cho GPU - Tăng tốc suy luận trên nhiều nhà cung cấp, bao gồm cả AMD, Intel và các yếu tố phi- khác NVIDIA GPU cho phép triển khai hiệu năng cao trên nhiều loại phần cứng hơn.
Các tùy chọn triển khai với NCNN
NCNN Các mô hình này tương thích với nhiều nền tảng triển khai khác nhau:
Triển khai trên thiết bị di động : Tối ưu hóa cho Android Và iOS , cho phép tích hợp liền mạch vào các ứng dụng di động để suy luận hiệu quả trên thiết bị.
Hệ thống nhúng và thiết bị IoT : Lý tưởng cho các thiết bị có tài nguyên hạn chế như Raspberry Pi và NVIDIA Jetson. Nếu phương pháp suy luận tiêu chuẩn trên Raspberry Pi với Ultralytics Guide không đủ, NCNN có thể mang lại những cải tiến hiệu suất đáng kể.
Triển khai trên máy tính để bàn và máy chủ : Hỗ trợ triển khai trên Linux, Windows và macOS cho các quy trình phát triển, đào tạo và đánh giá.
Vulkan GPU Gia tốc
NCNN hỗ trợ GPU Tăng tốc thông qua Vulkan, cho phép suy luận hiệu năng cao trên nhiều loại GPU, bao gồm cả AMD, Intel và các yếu tố phi- khác NVIDIA card đồ họa. Điều này đặc biệt hữu ích cho:
- Hỗ trợ GPU đa nhà cung cấp : Không giống như CUDA , điều này bị giới hạn ở NVIDIA Vulkan hoạt động trên nhiều GPU khác nhau. GPU các nhà cung cấp.
- Đa- GPU Hệ thốngChọn thiết bị Vulkan cụ thể trong các hệ thống có nhiều GPU bằng cách sử dụng:
device="vulkan:0",device="vulkan:1", vân vân. - Triển khai trên thiết bị biên và máy tính để bàn : Tận dụng GPU tăng tốc trên các thiết bị trong đó CUDA Hiện không có sẵn.
Để sử dụng tính năng tăng tốc Vulkan, hãy chỉ định thiết bị Vulkan khi chạy suy luận:
Suy luận Vulkan
from ultralytics import YOLO
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference with Vulkan GPU acceleration (first Vulkan device)
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:0")
# Use second Vulkan device in multi-GPU systems
results = ncnn_model("https://ultralytics.com/images/bus.jpg", device="vulkan:1")
# Run inference with Vulkan GPU acceleration
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg' device=vulkan:0
Yêu cầu Vulkan
Hãy đảm bảo bạn đã cài đặt trình điều khiển Vulkan cho hệ thống của mình. GPU Hầu hết các công nghệ hiện đại GPU Trình điều khiển bao gồm hỗ trợ Vulkan theo mặc định. Bạn có thể kiểm tra tính khả dụng của Vulkan bằng các công cụ như... vulkaninfo trên Linux hoặc Vulkan SDK trên Windows.
Xuất sang NCNN: Chuyển đổi mô hình YOLO26 của bạn
Bạn có thể mở rộng khả năng tương thích của mô hình và tính linh hoạt triển khai bằng cách chuyển đổi các mô hình YOLO26 sang định dạng NCNN.
Cài đặt
Để cài đặt các gói cần thiết, hãy chạy:
Cài đặt
# 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, hãy xem hướng dẫn Cài đặt Ultralytics . Nếu gặp bất kỳ khó khăn nào, hãy tham khảo hướng dẫn Vấn đề thường gặp để tìm giải pháp.
Cá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 được hỗ trợ và các tùy chọn cấu hình để chọn thiết lập tốt nhất cho ứng dụng của mình.
Cách sử dụng
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Export the model to NCNN format
model.export(format="ncnn") # creates '/yolo26n_ncnn_model'
# Load the exported NCNN model
ncnn_model = YOLO("./yolo26n_ncnn_model")
# Run inference
results = ncnn_model("https://ultralytics.com/images/bus.jpg")
# Export a YOLO26n PyTorch model to NCNN format
yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
# Run inference with the exported model
yolo predict model='./yolo26n_ncnn_model' source='https://ultralytics.com/images/bus.jpg'
Các đối số xuất
| Đối số | Loại | Mặc định | Mô tả |
|---|---|---|---|
format | str | 'ncnn' | Dạng mục tiêu cho mô hình đượ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 mô hình. Có thể là một số nguyên cho hình ảnh vuông hoặc một bộ giá trị (height, width) cho các kích thước cụ thể. |
half | bool | False | Cho phép lượng tử hóa FP16 (nửa độ chính xác), giảm kích thước mô hình và có khả năng tăng tốc độ suy luận trên phần cứng được hỗ trợ. |
batch | int | 1 | Chỉ định kích thước suy luận theo lô của mô hình xuất hoặc số lượng hình ảnh tối đa mà mô hình đã xuất sẽ xử lý đồng thời ở chế độ predict chế độ. |
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 Ultralytics về xuất.
Triển khai các mô hình YOLO26 NCNN đã xuất
Sau khi xuất các mô hình Ultralytics YOLO26 của bạn sang định dạng NCNN, bạn có thể triển khai chúng bằng cách sử dụng YOLO("yolo26n_ncnn_model/") Phương pháp được thể hiện như trong ví dụ sử dụng ở trên. Để biết hướng dẫn triển khai cụ thể cho từng nền tảng, vui lòng tham khảo các tài liệu sau:
Android : Xây dựng và tích hợp NCNN các mô hình để phát hiện đối tượng trong Android ứng dụng.
macOS : Triển khai NCNN các mô hình trên hệ thống macOS.
Linux : Triển khai NCNN các mô hình trên thiết bị Linux bao gồm Raspberry Pi và các hệ thống nhúng tương tự.
Windows x64 : Triển khai NCNN Mô hình trên Windows x64 sử dụng Visual Studio.
Tóm tắt
Hướng dẫn này đã đề cập đến việc xuất các mô hình Ultralytics YOLO26 sang định dạng NCNN để cải thiện hiệu quả và tốc độ trên các thiết bị hạn chế tài nguyên.
Để biết thêm chi tiết, vui lòng tham khảo tài liệu chính thức NCNN . Để biết các tùy chọn xuất khác, hãy truy cập trang hướng dẫn tích hợp của chúng tôi.
Câu hỏi thường gặp
Làm cách nào để xuất các mô hình Ultralytics YOLO26 sang định dạng NCNN?
Để xuất mô hình Ultralytics YOLO26 của bạn sang định dạng NCNN:
Python: Sử dụng
exportphương pháp từ YOLO lớp học.from ultralytics import YOLO # Load the YOLO26 model model = YOLO("yolo26n.pt") # Export to NCNN format model.export(format="ncnn") # creates '/yolo26n_ncnn_model'CLI: Sử dụng
yolo exportcommand.yolo export model=yolo26n.pt format=ncnn # creates '/yolo26n_ncnn_model'
Để biết các tùy chọn xuất chi tiết, vui lòng xem tài liệu Xuất .
Những lợi ích của việc xuất các mô hình YOLO26 sang NCNN là gì?
Việc xuất các mô hình Ultralytics YOLO26 của bạn sang NCNN mang lại một số lợi ích:
- Hiệu quả: Các mô hình NCNN được tối ưu hóa cho các thiết bị di động và nhúng, đảm bảo hiệu suất cao ngay cả với tài nguyên tính toán hạn chế.
- Lượng tử hóa: NCNN hỗ trợ các kỹ thuật như lượng tử hóa giúp cải thiện tốc độ mô hình và giảm mức sử dụng bộ nhớ.
- Khả năng tương thích rộng: Bạn có thể triển khai các mô hình NCNN trên nhiều nền tảng, bao gồm Android, iOS, Linux và macOS.
- Tăng tốc GPU Vulkan : Tận dụng tối đa GPU tăng tốc trên AMD, Intel và các yếu tố phi- khác NVIDIA Sử dụng GPU thông qua Vulkan để xử lý suy luận nhanh hơn.
Để biết thêm chi tiết, hãy xem phần " Tại sao nên xuất sang NCNN ?" .
Tại sao nên sử dụng NCNN cho các ứng dụng AI trên thiết bị di động?
NCNN, được phát triển bởi Tencent, được tối ưu hóa đặc biệt cho các nền tảng di động. Các lý do chính để sử dụng NCNN bao gồm:
- Hiệu suất cao: Được thiết kế để xử lý nhanh chóng và hiệu quả trên CPU di động.
- Đa nền tảng: Tương thích với các framework phổ biến như TensorFlow và ONNX, giúp bạn dễ dàng chuyển đổi và triển khai các mô hình trên các nền tảng khác nhau.
- Hỗ trợ Cộng đồng: Hỗ trợ cộng đồng tích cực đảm bảo những cải tiến và cập nhật liên tục.
Để biết thêm thông tin chi tiết, vui lòng xem phần " Các tính năng chính của mô hình NCNN .
Những nền tảng nào được hỗ trợ để triển khai mô hình NCNN?
NCNN rất linh hoạt và hỗ trợ nhiều nền tảng khác nhau:
- Thiết bị di động: Android, iOS.
- Hệ thống nhúng và thiết bị IoT: Các thiết bị như Raspberry Pi và NVIDIA Jetson.
- Máy tính để bàn và Máy chủ: Linux, Windows và macOS.
Để cải thiện hiệu suất trên Raspberry Pi, hãy cân nhắc sử dụng NCNN Định dạng như được mô tả chi tiết trong Hướng dẫn Raspberry Pi của chúng tôi.
Làm cách nào để triển khai các mô hình Ultralytics YOLO26 NCNN trên Android?
Để triển khai các mô hình YOLO26 của bạn trên Android:
- Xây dựng cho Android: Làm theo hướng dẫn NCNN Build for Android.
- Tích hợp với ứng dụng của bạn: Sử dụng NCNN Android SDK để tích hợp mô hình đã xuất vào ứng dụng của bạn để suy luận hiệu quả trên thiết bị.
Để biết hướng dẫn chi tiết, hãy xem Triển khai các mô hình YOLO26 NCNN đã xuất.
Để có hướng dẫn và ví dụ sử dụng nâng cao hơn, hãy truy cập hướng dẫn triển khai Ultralytics .
Tôi sử dụng Vulkan như thế nào? GPU tăng tốc với NCNN mô hình?
NCNN Hỗ trợ Vulkan cho GPU tăng tốc trên AMD, Intel và các yếu tố phi- khác NVIDIA GPU. Để sử dụng Vulkan:
from ultralytics import YOLO
# Load NCNN model and run with Vulkan GPU
model = YOLO("yolo26n_ncnn_model")
results = model("image.jpg", device="vulkan:0") # Use first Vulkan device
Đối với nhiều GPU hệ thống, chỉ định chỉ số thiết bị (ví dụ: vulkan:1 lần thứ hai GPU Hãy đảm bảo rằng trình điều khiển Vulkan đã được cài đặt cho hệ thống của bạn. GPU Xem Vulkan GPU Gia tốc phần để biết thêm chi tiết.