기본기/OS

[ubuntu] 22.04 TensorRT 설치방법

dohyeon2 2024. 11. 6. 16:56

목차

    오늘은 모델 연산 최적화에 쓰이는 TensorRT 엔진 설치방법에 대해 정리해보려 합니다.

    TensorRT에 대해 간략하게 설명하자면, TensorRT는 NVIDIA에서 개발한 딥러닝 추론(optimal inference)을 위한 고성능 딥러닝 모델 최적화 라이브러리입니다. TensorRT는 주로 NVIDIA GPU에서 실행되는 딥러닝 모델을 위한 최적화, 가속화 및 추론 엔진을 제공합니다.

     

    TensorRT의 주요 기능은 다음과 같습니다:

    1. 네트워크 최적화: 다양한 최적화 기법을 사용해 모델의 크기와 실행 시간을 줄여줍니다. 레이어 융합, 정밀도 감소(FP32를 FP16 또는 INT8로 변환) 등을 통해 모델을 더 작고 빠르게 실행할 수 있습니다.
    2. 정밀도 최적화: FP16(반정밀도) 및 INT8(8비트 정수)로 정밀도를 낮추어 추론 속도를 향상시킬 수 있습니다. 특히 INT8을 활용한 추론은 CPU보다 훨씬 빠른 속도로 실행됩니다.
    3. 효율적인 메모리 관리: TensorRT는 GPU 메모리를 효율적으로 활용하도록 설계되어, 모델이 필요한 메모리 양을 최소화하고 실행 성능을 극대화합니다.
    4. 딥러닝 프레임워크 통합: 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를 설치하였습니다 :)