Yolo Tầm nhìn Thâm Quyến
Thâm Quyến
Tham gia ngay
Bảng chú giải thuật ngữ

TensorRT

Khám phá cách thức TensorRT tối ưu hóa các mô hình học sâu cho NVIDIA GPU. Tìm hiểu cách xuất khẩu Ultralytics YOLO26 đến TensorRT Để có khả năng suy luận tốc độ cao, độ trễ thấp ngay hôm nay.

TensorRT là bộ công cụ phát triển phần mềm (SDK) suy luận học sâu hiệu năng cao được phát triển bởi NVIDIA Nó được thiết kế để tối ưu hóa các mô hình mạng nơ-ron cho việc triển khai, mang lại độ trễ suy luận thấp và thông lượng cao cho các ứng dụng học sâu. Bằng cách hoạt động như một trình biên dịch tối ưu hóa, TensorRT Sử dụng các mạng đã được huấn luyện từ các framework phổ biến như PyTorch và TensorFlow và tái cấu trúc chúng để thực hiện một cách hiệu quả. NVIDIA GPU . Khả năng này rất quan trọng để chạy các mô hình AI phức tạp trong môi trường sản xuất, nơi tốc độ và hiệu quả là yếu tố tối quan trọng.

Làm sao TensorRT Tối ưu hóa mô hình

Chức năng cốt lõi của TensorRT Mục tiêu là chuyển đổi một mạng nơ-ron đã được huấn luyện thành một "công cụ" tối ưu hóa, được tinh chỉnh đặc biệt cho phần cứng mục tiêu. Quá trình này được thực hiện thông qua một số kỹ thuật tiên tiến:

  • Hợp nhất lớp: Trình tối ưu hóa kết hợp nhiều lớp của mạng nơ-ron thành một nhân duy nhất, giảm chi phí truy cập bộ nhớ và cải thiện tốc độ thực thi.
  • Hiệu chuẩn chính xác: TensorRT Hỗ trợ các chế độ độ chính xác giảm, chẳng hạn như độ chính xác hỗn hợp (FP16) và lượng tử hóa số nguyên (INT8). Bằng cách giảm số bit được sử dụng để biểu diễn các số—thường với tổn thất độ chính xác tối thiểu—các nhà phát triển có thể tăng tốc đáng kể các phép toán và giảm mức sử dụng bộ nhớ. Đây là một dạng lượng tử hóa mô hình .
  • Tự động tinh chỉnh nhân: Phần mềm tự động chọn các lớp dữ liệu và thuật toán tốt nhất cho trường hợp cụ thể. GPU kiến trúc đang được sử dụng, đảm bảo tận dụng tối đa khả năng xử lý song song của phần cứng thông qua CUDA .

Các Ứng dụng Thực tế

Nhờ khả năng xử lý lượng dữ liệu khổng lồ với độ trễ tối thiểu, TensorRT Nó được áp dụng rộng rãi trong các ngành công nghiệp dựa vào thị giác máy tính và các tác vụ trí tuệ nhân tạo phức tạp, nơi thời gian là yếu tố then chốt.

  1. Hệ thống tự hành: Trong lĩnh vực trí tuệ nhân tạo ứng dụng trong ô tô , xe tự lái phải xử lý nguồn cấp dữ liệu video từ nhiều camera để... detect Nhận diện người đi bộ, biển báo và chướng ngại vật ngay lập tức. Sử dụng TensorRT Các mô hình nhận thức như mạng phát hiện đối tượng có thể phân tích khung hình trong vòng mili giây, cho phép hệ thống điều khiển của xe đưa ra các quyết định quan trọng về an toàn mà không bị chậm trễ.
  2. Tự động hóa công nghiệp: Các nhà máy hiện đại sử dụng trí tuệ nhân tạo (AI) trong sản xuất để kiểm tra quang học tự động. Camera tốc độ cao chụp ảnh sản phẩm trên dây chuyền lắp ráp, và TensorRT - Các mô hình được tối ưu hóa giúp xác định các lỗi hoặc bất thường trong thời gian thực. Điều này đảm bảo rằng việc kiểm soát chất lượng theo kịp môi trường sản xuất tốc độ cao, thường được triển khai trên các thiết bị AI biên như nền tảng NVIDIA Jetson trực tiếp tại nhà máy.

Sử dụng TensorRT với Ultralytics YOLO

Tích hợp TensorRT vào quy trình làm việc của bạn một cách đơn giản với các công cụ AI hiện đại. ultralytics gói này cung cấp một phương pháp liền mạch để chuyển đổi tiêu chuẩn PyTorch mô hình thành TensorRT Điều này cho phép người dùng tận dụng kiến ​​trúc hiện đại nhất của các công cụ. Ultralytics YOLO26 với khả năng tăng tốc phần cứng của NVIDIA GPU. Đối với các nhóm muốn quản lý tập dữ liệu và quy trình huấn luyện trước khi xuất khẩu, thì... Ultralytics Nền tảng Cung cấp một môi trường toàn diện để chuẩn bị các mô hình cho việc triển khai hiệu năng cao như vậy.

Ví dụ sau đây minh họa cách xuất mô hình YOLO26 sang định dạng khác. TensorRT tệp động cơ (.engine) và sử dụng nó cho suy luận thời gian thực:

from ultralytics import YOLO

# Load the latest stable YOLO26 model (nano size)
model = YOLO("yolo26n.pt")

# Export the model to TensorRT format (creates 'yolo26n.engine')
# This step optimizes the computational graph for your specific GPU
model.export(format="engine")

# Load the optimized TensorRT engine for high-speed inference
trt_model = YOLO("yolo26n.engine")

# Run inference on an image source
results = trt_model("https://ultralytics.com/images/bus.jpg")

TensorRT so với ONNX so với Khung đào tạo

Điều quan trọng là phải phân biệt TensorRT Từ những thuật ngữ khác thường được nghe thấy trong lĩnh vực triển khai mô hình :

  • So với PyTorch / TensorFlow : Các framework như PyTorch Chúng chủ yếu được thiết kế cho việc huấn luyện mô hình và nghiên cứu, mang lại sự linh hoạt và dễ dàng gỡ lỗi. TensorRT Đây là một công cụ suy luận được thiết kế chỉ để thực thi các mô hình đã được huấn luyện nhanh nhất có thể. Nó không được sử dụng để huấn luyện.
  • So với ONNX : Định dạng ONNX (Open Neural Network Exchange) đóng vai trò là cầu nối trung gian giữa các framework. Trong khi đó, ONNX Cung cấp khả năng tương tác (ví dụ: di chuyển một mô hình từ...) PyTorch sang nền tảng khác), TensorRT Tập trung vào tối ưu hóa phần cứng cụ thể. Thông thường, một mô hình được chuyển đổi thành ONNX đầu tiên, và sau đó được phân tích bởi TensorRT để tạo ra động cơ cuối cùng.

Đối với các nhà phát triển muốn tối đa hóa hiệu suất của các tác nhân AI hoặc hệ thống thị giác của họ, việc hiểu rõ quá trình chuyển đổi từ khung huấn luyện sang môi trường chạy được tối ưu hóa là rất quan trọng. TensorRT Đây là một bước quan trọng trong quy trình MLOps chuyên nghiệp.

Tham gia Ultralytics cộng đồng

Tham gia vào tương lai của AI. Kết nối, hợp tác và phát triển cùng với những nhà đổi mới toàn cầu

Tham gia ngay