목차
오늘은 모델 연산 최적화에 쓰이는 TensorRT 엔진 설치방법에 대해 정리해보려 합니다.
TensorRT에 대해 간략하게 설명하자면, TensorRT는 NVIDIA에서 개발한 딥러닝 추론(optimal inference)을 위한 고성능 딥러닝 모델 최적화 라이브러리입니다. TensorRT는 주로 NVIDIA GPU에서 실행되는 딥러닝 모델을 위한 최적화, 가속화 및 추론 엔진을 제공합니다.
TensorRT의 주요 기능은 다음과 같습니다:
- 네트워크 최적화: 다양한 최적화 기법을 사용해 모델의 크기와 실행 시간을 줄여줍니다. 레이어 융합, 정밀도 감소(FP32를 FP16 또는 INT8로 변환) 등을 통해 모델을 더 작고 빠르게 실행할 수 있습니다.
- 정밀도 최적화: FP16(반정밀도) 및 INT8(8비트 정수)로 정밀도를 낮추어 추론 속도를 향상시킬 수 있습니다. 특히 INT8을 활용한 추론은 CPU보다 훨씬 빠른 속도로 실행됩니다.
- 효율적인 메모리 관리: TensorRT는 GPU 메모리를 효율적으로 활용하도록 설계되어, 모델이 필요한 메모리 양을 최소화하고 실행 성능을 극대화합니다.
- 딥러닝 프레임워크 통합: PyTorch, TensorFlow, ONNX 모델을 TensorRT로 변환할 수 있어 기존에 학습된 모델을 쉽게 TensorRT에 적용하여 추론 성능을 높일 수 있습니다.
저 또한 PyTorch로 학습한 모델(.pth)의 추론속도와 모델크기를 개선하기 위해 TensorRT를 사용하였습니다.
1. Pre-requirement
TensorRT 라이브러리를 설치하기에 앞서 CUDA, cuDNN toolkit이 설치되어 있어야합니다.
자신의 OS, GPU에 맞는 CUDA, cuDNN 설치방법은 이전에 작성한 포스팅을 참고해주세요.
2. Install TensorRT
저는 CUDA=11.8, cuDNN=8.9.7에 맞는 TensorRT TAR file을 홈페이지에서 링크주소 복사하여 다운받았습니다.
# NVIDA TensorRT 홈페이지에서 본인의 CUDA, cuDNN 버전에 맞는 TensorRT tar file 다운로드
wget https://developer.nvidia.com/downloads/compute/machine-learning/tensorrt/10.0.1/tars/TensorRT-10.0.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
sudo tar xvf TensorRT-10.0.1.6.Linux.x86_64-gnu.cuda-11.8.tar.gz
cd TensorRT-10.0.1.6/
# TensorRT 라이브러리 시스템 설정
sudo cp -r TensorRT-10.0.1.6/targets/x86_64-linux-gnu/include/* /usr/local/include/
sudo cp -r TensorRT-10.0.1.6/targets/x86_64-linux-gnu/lib/* /usr/local/lib/
sudo cp -r TensorRT-10.0.1.6/targets/x86_64-linux-gnu/bin/* /usr/local/bin/
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
다운받은 폴더 내 python 폴더에 들어가보면 아래와 같이 whl file이 여러개 있습니다.
이를 아래와 같이 직접 설치해줍니다.
# for pytorch
pip3 install TensorRT-10.0.1.6/python/tensorrt-10.0.1-cp38-none-linux_x86_64.whl
# for tensorflow-keras
pip3 install TensorRT-10.0.1.6/onnx_graphsurgeon/onnx_graphsurgeon-0.5.0-py2.py3-none-any.whl
설치 확인
import tensorrt as trt
print(trt.__version__)
성공적으로 TensorRT를 설치하였습니다 :)
'기본기 > OS' 카테고리의 다른 글
[ubuntu18.04] pyinstaller 사용법 및 문제해결 (0) | 2022.08.29 |
---|---|
[window10] 부팅 시 프로그램 자동실행 (0) | 2022.04.15 |
[window10] 작업 스케줄러와 배치파일 이용해 일정시간마다 프로그램 자동 실행시키기 (0) | 2022.04.03 |
[ubuntu] apt install로 설치한 패키지 anaconda 가상환경에 집어넣기 (0) | 2022.03.17 |
[windows10] 배치파일을 이용하여 파이썬 파일 실행하기 (0) | 2022.02.09 |