Machine Learning/Edge Device

Docker에서 TensorRT 설치

light_meal 2022. 9. 2. 19:53
728x90

Docker에서 TensorRT 설치

환경

  • gpu가 존재하는 컴퓨터
  • nvidia driver가 설치되어 있는 컴퓨터
  • Docker가 설치 (유)
  • Docker Image : nvidia/cuda:11.4.1-cudnn8-devel-ubuntu20.04
  • 도커 컨테이너 생성 명령어
sudo docker run -itd --gpus '"device=0"' --name=edge_device --restart=always -p 10000:8080 -v /mnt/edge_device:/mnt/edge_device nvidia/cuda:11.4.1-cudnn8-devel-ubuntu20.04 /bin/bash

 

도커 컨테이너 접속

docker exec -it edge_device /bin/bash

 

텐서RT 다운로드

아래 사이트에서 자신의 환경에 맞게 다운로드

https://developer.nvidia.com/nvidia-tensorrt-8x-download

 

CLI 환경에서 wget으로 다운로드 되지 않아서 다운 받아서 구글 드라이브로 옮겨서 받았음

아래 "1smwF3ReZ4vpxS0DbVp4zL2rKC05iLKsV"을 구글 드라이브 공유 링크 생성한 값에서 추출해서 수정

- 구글검색하면 친절하게 나옵니다.

wget --load-cookies /tmp/cookies.txt "https://docs.google.com/uc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1smwF3ReZ4vpxS0DbVp4zL2rKC05iLKsV' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1smwF3ReZ4vpxS0DbVp4zL2rKC05iLKsV" -O file.deb && rm -rf /tmp/cookies.txt

deb 파일명은 file.deb 로 받도록 지정 하였습니다.

 

 

tensorRT 설치

설치하고자 받은 tensorrt 파일의 이름을 보고 os 버전과 tag 수정하시기 바랍니다.

os="ubuntu2004"
tag="cuda11.4-trt8.2.5.1-ga-20220505"
#dpkg -i nv-tensorrt-repo-${os}-${tag}_1-1_amd64.deb
dpkg -i file.deb
apt-key add /var/nv-tensorrt-repo-${os}-${tag}/*.pub

apt-get update
apt-get install tensorrt
python3 -m pip install numpy
apt-get install -y python3-libnvinfer-dev onnx-graphsurgeon

 

 

설치 확인

dpkg -l | grep TensorRT

 

 

pip 휠 설치

python3 -m pip install --upgrade setuptools pip
python3 -m pip install nvidia-pyindex
python3 -m pip install --upgrade nvidia-tensorrt

 

 

설치 완료 확인

python3
>>> import tensorrt
>>> print(tensorrt.__version__)
>>> assert tensorrt.Builder(tensorrt.Logger())

 

 

 

trtexec 사용하기 위한 조치 및 사용

cd /usr/src/tensorrt/samples/

make
vim $HOME/.bashrc

# 다음 명령어 추가
export PATH=/usr/src/tensorrt/bin:$PATH

# 적용
source $HOME/.bashrc
728x90