TensorRT란 무엇인가?
안녕하세요. 코딩벅스입니다.
TensorRT는 NVIDIA에서 만든 딥러닝 인퍼런싱 최적화 라이브러리입니다. 쉽게 말해서, 기존 딥러닝 모델을 구조적으로 개선하여, 추론 성능을 향상시키는 라이브러리입니다. 2017년 TensorRT 1을 시작으로 현재(2019년 12월 기준) TensorRT 6까지 나온 상황입니다.
이렇게 성능을 끌어올리는게 가능한 건, NVIDIA GPU와 CUDA-X AI 등 최신 하드웨어와 기술등이 결합되어 사용되기 때문이죠.
TensorRT 동작은 다음 그림과 같이 크게 두가지로 나뉩니다.
첫 단계는 기존 딥러닝 모델을 최적 모델로 변환하는 것이죠.
두번째 단계는 변환된 딥러닝 모델을 TensorRT 런타임에서 구동시키는 것입니다.
설치
TensorRT는 설치가 은근히 어렵습니다.
저도 몇 시간 걸려서 예제 하나를 겨우 돌려봤네요.
TensorRT 설치를 위해서는, 사용하는 PC 또는 서버의 플랫폼 버전, CUDA 버전, Tensorflow 버전 등을 꼼꼼하게 챙겨야합니다. 이러한 환경들에 따라서 사용가능한 TensorRT의 버전도 달라지기 때문이죠. 라이브러리들간의 호환 정보는 Supported Matrix Table를 참고해주세요.
저의 설치 환경은 다음과 같습니다.
- GTX 1660
- Ubuntu 18.04 LTS
- Python 3.6
- Cudnn 7.6.5
- CudaToolkit - NVIDIA CUDA 10.1
- Tensorflow 1.14
- TensorRT 6.0.1
TensorRT 설치에 대한 자세한 설명은 다음 개인블로그와 공식가이드로 갈음한다.
다만, 경험끝에 얻은 개인적인 팁들을 공유합니다.
첫째, 가상환경에서 TensorRT설치는 쉽지않습니다.
**그냥 sudo를 사용해서 root에서 설치하세요. 제발**