Chapter 1: What is tensorRT 1.4 What Capabilities Does TensorRT Provide? TensorRT의 핵심 인터페이스는 아래와 같음. 공식: https://docs.docker.com/engine/install/ubuntu/ 최신 docker부터 nvidia-docker가 기본으로 내장 되었기에 아래의 절차만 추가로 수행해 주면 된다. NVIDIA에서 TensorRT등의 기본 도구에 대한 Docker들을 NGC를 통해서 배포하고 있다. 공식문서 https://docs.nvidia.com/deeplearning/dgx/integrate-tf-trt/index.html https://docs.nvidia.com/deeplearning/dgx/integrate-tf-trt-release-notes/tf-rel-1812.html#tf-rel-1812 샘플 실행, DLA 방법까지 설명됨 공식 TensorRT Archives 미디엄 포스팅TensorRT 개론 및 Docker기반 실행
Xaiver
에서의 TensorRT-5
latency
, throughput
, efficiency
를 최적화 한다.
C++로는 모든 플랫폼을 지원하고 Python으로 x86만을 지원한다.Network definition:
네트워크 정의와 input과 output을 정의함.Builder:
최적화된 네트웤 정의를 생성하기 위한 optimized engine을 생성함.Engine:
inference의 실행을 application에서 가능 하도록 한다. 동기와 비동기 모두를 지원한다.Caffe Parser:
카페를 위한 것UFF Parser:
UFF format model을 읽기 위함ONNX Parser:
ONNX 모델을 위한 것이다.TensorRT 설치 (NVIDIA-Docker 활용)
Docker 기본 설치 방법
# remove existing version
$ sudo apt-get remove docker docker-engine docker.io containerd runc
]()
# Install
$ sudo apt-get update
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
pub rsa4096 2017-02-22 [SCEA]
9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid [ unknown] Docker Release (CE deb) <docker@docker.com>
sub rsa4096 2017-02-22 [S]
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
NVIDIA docker 실행전에 설치 해야할 것들
참고: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#dockerdistribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
# Install the nvidia-docker2 package (and dependencies) after updating the package listing
sudo apt-get update
sudo apt-get install -y nvidia-docker2
# docker 재시작
sudo systemctl restart docker
# CUDA container 테스팅
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi
# Driver 결과 출력
TensorRT docker를 NGC에서 다운로드 이후에 실행
또한, DockerHub를 통해서 CUDA, cuDNN 버전별로 제공 한다.# pull tensorrt-20.12 from NGC
sudo docker pull nvcr.io/nvidia/tensorrt:20.12-py3
# image 이름 확인
sudo docker images
# 실행, -v 볼륨 마운트, --rm 종류후 이미지 삭제
sudo docker run --gpus all -it --rm -v local_dir:container_dir nvcr.io/nvidia/tensorrt:20.12-py3
#Docker 내부에서 예제 실행
cd /workspace/tensorrt/samples
make -j4
cd /workspace/tensorrt/bin
./sample_mnist
참고문헌
https://docs.nvidia.com/deeplearning/sdk/tensorrt-install-guide/index.html
https://docs.nvidia.com/deeplearning/sdk/tensorrt-developer-guide/index.html#mnist_sample
https://docs.nvidia.com/deeplearning/sdk/tensorrt-archived/index.html
https://medium.com/tensorflow/speed-up-tensorflow-inference-on-gpus-with-tensorrt-13b49f3db3fa
https://medium.com/kubeflow/gpu-accelerated-inference-for-kubernetes-with-the-nvidia-tensorrt-inference-server-and-kubeflow-63061305fff2
'AI > NVIDIA' 카테고리의 다른 글
Upgrade CUDA, cuDNN (1) | 2021.07.10 |
---|---|
TensorRT이용한 Xavier DLA (NVDLA) 실행 (4) | 2019.02.08 |
NVDLA: NVIDIA Deep Learning Accelerator (DLA) 개론 (0) | 2019.02.08 |
NVIDIA AI Tech Workshop at NIPS 2018 -- Session3: Inference and Quantization (0) | 2019.02.06 |
DeepStream을 통한 low precision YOLOv3 실행 (0) | 2019.01.24 |