TensorRT là một bộ công cụ phát triển phần mềm (SDK) do công ty NVDIA cung cấp nhằm tối ưu hóa các mô hình học sâu đã được đào tạo từ trước, TensoRT hỗ trợ trên nhiều loại mô hình khác nhau như: Tensoflow, Tflite, Yolo, SSD, Mobilnet,… TensorRT giúp người dùng chuyển định dạng các mô hình đã được đào tạo từ trước về mô hình TensorRT có định dạng .trt nhằm tối ưu hóa các thông số: FPS, bộ nhớ RAM, GPU, CPU, từ đó khi mô hình chạy trên các thiết bị nhúng của hãng NVDIA sẽ đạt được hiệu suất cao nhất. Hiện nay, TensorRT đã được tích hợp sẵn vào hệ điều hành Jetpack 4.5 của Jetson Nano, vì thế chúng ta không phải cài đặt TensorRT như các phiên bản trước.
2.4.2.2 Chu trình chuyển đổi sang TensorRT
1. Sử dụng một Framework bất kỳ để đào tạo mô hình nhận diện lửa. 2. Chuyển đổi về một mạng neural trung gian. Để chuyển đổi về định dạng
TensorRT, mô hình phải có bước chuyển đổi trung gian về định dạng .uff (thích hợp với các mô hình Tensorflow) hoặc .onnx (thích hợp với nhiều loại mô hình khách nhau). Ngoài hai định dạng này ra, hiện nay TensorRT chưa hỗ trợ định dạng nào khác.
o Onnx (Open Neural Network Exchange): là một hệ sinh thái trí tuệ nhân tạo mã nguồn mở của các công ty công nghệ và tổ chức nghiên cứu nhằm thiết lập các tiêu chuẩn mở để đại diện cho các thuật toán học máy và công cụ phần mềm nhằm thúc đẩy đổi mới và hợp tác trong lĩnh vực AI. Trên Github có rất nhiều tài liệu hướng dẫn sử dụng Onnx.
3. Sử dụng hàm chuyển đổi của TensorRT SDK để chuyển đổi từ .onnx hoặc .uff sang định dạng TensorRT.
4. Thu được mô hình TensorRT, có định dạng .trt.
5. Sử dụng hàm load_model (của thư viện TensorRT) để khởi động mô hình.
Hình 2.10 Quá trình hình thành sản phẩm dựa trên TensorRT ( Nguồn : https://developer.nvidia.com/tensorrt )