Are you sure you want to delete this access key?
This example demonstrates how to perform object detection using Ultralytics YOLO11 models deployed on the NVIDIA Triton Inference Server. The implementation highlights efficient image preprocessing, FP16 (half-precision) data conversion, seamless communication with the Triton server via gRPC, and visualization of detection results with bounding boxes and confidence scores.
Ensure you have the following dependencies installed before proceeding:
Dependency | Version | Description |
---|---|---|
Triton Inference Server | 22.06 | Running with a deployed FP16 YOLO11 model |
Triton Client libraries | 2.23 | Required for communication with Triton Server |
C++ compiler | C++ 17+ | For compiling the C++ client application |
OpenCV library | 3.4.15 | For image processing and visualization |
CMake | 3.5+ | For building the project |
For more information on Triton, see the NVIDIA Triton Inference Server documentation and explore model deployment options with Ultralytics.
Install the Triton Client libraries:
wget https://github.com/triton-inference-server/server/releases/download/v2.23.0/v2.23.0_ubuntu2004.clients.tar.gz
mkdir tritonclient
tar -xvf v2.23.0_ubuntu2004.clients.tar.gz -C tritonclient
rm -rf v2.23.0_ubuntu2004.clients.tar.gz
Clone the Ultralytics repository:
git clone https://github.com/ultralytics/ultralytics.git
cd ultralytics/examples/YOLO11-Triton-CPP
Configure and build the project using CMake:
mkdir build
cd build
cmake .. -DTRITON_CLIENT_DIR=/path/to/tritonclient
make
For additional guidance on integrating Ultralytics YOLO models with various platforms, check out the Ultralytics integrations documentation.
Deploy your FP16 (half-precision) YOLO11 model on a Triton Inference Server.Learn more about deploying models with Ultralytics YOLO.
Run the YOLO11-Triton-CPP application:
./YOLO11TritonCPP
By default, the application will:
localhost:8001
yolov11
with version 1
test.jpg
output.jpg
For more on object detection workflows, see Ultralytics object detection tasks.
You can modify the following parameters in main.cpp:
std::string triton_address = "localhost:8001";
std::string model_name = "yolov11";
std::string model_version = "1";
std::string image_path = "test.jpg";
std::string output_path = "output.jpg";
std::vector<std::string> object_class_list = {"class1", "class2"};
To learn more about configuring and customizing YOLO models, visit the Ultralytics configuration guide.
Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the main Ultralytics repository.
For more resources, explore the Ultralytics documentation, Ultralytics blog, and Ultralytics HUB.
We encourage your contributions to make this project even better! 🚀
Press p or to see the previous file or, n or to see the next file
Browsing data directories saved to S3 is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with AWS S3!
Are you sure you want to delete this access key?
Browsing data directories saved to Google Cloud Storage is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with Google Cloud Storage!
Are you sure you want to delete this access key?
Browsing data directories saved to Azure Cloud Storage is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with Azure Cloud Storage!
Are you sure you want to delete this access key?
Browsing data directories saved to S3 compatible storage is possible with DAGsHub. Let's configure your repository to easily display your data in the context of any commit!
ultralytics is now integrated with your S3 compatible storage!
Are you sure you want to delete this access key?