Nvidia-TensorRT Docker Container 내 cuDNN 버전 비호환

Seong Woong Kim·2023년 12월 6일

상황

Nvidia-tensorrt 도커 컨테이너로 구축한 환경에서 TensorRT를 사용하려고 하니 다음과 같은 에러가 발생했다.

[TRT] [W] TensorRT was linked against cuDNN 8.6.0 but loaded cuDNN 8.5.0

NVIDIA 홈페이지에서 cuDNN 버전을 맞게 설치했는데 컨테이너 내부에서 버전 호환이 다르다고 나오는 상황이였다.

원인

tensorrt 패키지 설치 후의 버전은 호환이 되는 버전이지만, torch를 설치해서 tensorrt 패키지의 버전이 호환이 안되는 버전으로 자동으로 downgrade되는 현상이 원인이였다.

  • 그 당시 도커 컨테이너 내 tensorrt 패키지의 버전이 8.2.5.1이였는데, TensorRT version이 8.2.5.1이면 engine 파일의 바인딩 정보가 인식이 안되었다.

  • 그래서 tensorrt 버전을 8.5.3.1로 업그레이드 하면 nvidia-cudnn-cu11 패키지가 자동으로 8.8.0.121로 변경됨 -> cudnn 8.8.0 version으로 인식

  • 하지만, torch 패키지를 설치하게 되면 이 패키지를 자동으로 8.5.0.96으로 버전을 다운그레이드 → cudnn 8.5.0 version으로 인식

Nvidia-tensorrt 컨테이너로 구축한 환경에서 cudnn 버전의 기준은nvidia-cudnn-cu11 패키지였다.

해결

torch 패키지를 설치 후, 자동으로 downgrade된 패키지 버전들을 명시적으로 업그레이드해서 해결했다.

pip install --upgrade nvidia-cudnn-cu11==8.8.0.121
pip install --upgrade tensorrt==8.5.3.1
profile
성장과 연구하는 자세를 추구하는 AI 연구개발자

0개의 댓글