빌드한 engine 모델을 사용하기 위해 trtexec 엔진을 사용해야 할 일이 생겼는데 설치 하려고 하니 환경이 섞이는게 싫어서 도커 이미지를 사용해서 설치하는 방법을 찾아보게 되었다.
원하는 버전의 도커 이미지를 사용해서 컨테이너를 생성하면 해당 버전의 tensorrt를 사용할 수 있다.
https://docs.nvidia.com/deeplearning/frameworks/container-release-notes/
TensorRT Release Notes - NVIDIA Docs
The TensorRT container is an easy to use container for TensorRT development. The container allows you to build, modify, and execute TensorRT samples. These release notes provide a list of key features, packaged software in the container, software enhanceme
docs.nvidia.com
우선, 위 링크에서 본인의 cuda 버전에 맞는 tensorrt 버전의 continer 버전을 확인해야 한다.

이렇게 표에서 본인의 cuda 버전과 일치하는 버전 중 engine 빌드 시 사용한 버전과 동일한 버전의 tensorrt의 컨테이너 tag를 사용해서 도커 이미지를 다운로드 받으면 된다.
docker pull -f nvcr.io/nvidia/tensorrt:xx.xx-py3
이 명렁에서 tensorrt 뒤에 확인한 tensorrt 버전에 맞는 container tag를 입력하면 된다. python3.x 버전을 사용한다면 뒤에 py3을 붙여주면 python3용으로 다운로드 된다.
docker run -d --name tensorrt_10.1 -it --gpus all -p 9000:22 -v /media/:/DATA_HARD --shm-size=64G nvcr.io/nvidia/tensorrt:24.06-py3
다운받은 도커 이미지를 가지고 이렇게 컨테이너를 생성 해 주면 별도로 설치할 필요 없이 trtexec 엔진을 사용할 준비를 마친거다.
컨테이너에서 trtexec를 입력하면 trtexec가 없다는 에러가 아니라 아래와 같이 option 같은 정보가 출력 될 것이다.

또는 tensorrt를 import 해서 버전 출력도 해 볼 수 있다.
>>> import tensorrt
>>> print(tensorrt.__version__)
10.1.0