DeepStream

#2 DeepStream 다짜고짜 실행해보기 - 2

후로링 2020. 11. 9. 17:25

1. 컨테이너 실행해보기

  Nvidia docker가 익숙하지 않으신 분들을 위해 커맨드와 간략한 설명을 남깁니다. 

nvidia-docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-5.0 --net="host"  --name=deepstream_test nvcr.io/nvidia/deepstream:5.0.1-20.09-triton /bin/bash

 - nvidia-docker run 으로 실행 할 수도있고, docker run --gpus all 로 실행 할 수도 있습니다. 

 - "-it" 옵션은 컨테이너에 터미널 입력을 사용하기위한 옵션입니다. 

 - "-v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY" 는 컨테이너 내부에서 OpenCV의 imshow와 같은 함수를 이용해 visualization할때 호스트에서 이를 확인하기 위한 옵션입니다. 아래 명령어를 컨테이너 바깥에서 실행해주어야 도커 내부에서 호스트의 GUI를 사용 할 수 있습니다.

xhost +local:docker

 

 - "-w /opt/nvidia/deepstream/deepstream-5.0" 는 컨테이너의 주 작업이 이루어지는 working directory를 명시하는 부분입니다. 

 - --net="host" 옵션은 컨테이너가 따로 ip를 할당받지 않고 host의 ip주소를 활용하겠다는 옵션입니다. 현재는 중요하지 않으나 MQ나 Kafka와 같은 메세지 브로커와 함께 사용하는 예제를 실행할때 필요한 부분이니 일단은 넣어두도록 합니다. 

 

 위 명령어로 실행을 해보면 

nvcr.io/nvidia/deepstream:5.0.1-20.09-triton

nvcr.io/nvidia/deepstream:5.0.1-20.09-triton

 위와 같이 working directory로 들어가는 것을 확인 할 수 있습니다. 드라이버도 잘 인식하고, 컨테이너 내부에 깔려있는 CUDA도 잘 확인 되는것을 보실 수 있습니다. 

 

2. DeepStream Python Application

  아래 git repo에 있는 코드를 /opt/nvidia/deepstream/deepstream-5.0/sources 내에 다운받아 줍니다. 

github.com/NVIDIA-AI-IOT/deepstream_python_apps

 

NVIDIA-AI-IOT/deepstream_python_apps

A project demonstrating use of Python for DeepStream sample apps given as a part of SDK (that are currently in C,C++). - NVIDIA-AI-IOT/deepstream_python_apps

github.com

 

  폴더 내 apps/deepstream-test1 폴더 내 deepstream_test_1.py파일을 실행해 주면 끝입니다. 

 사용 방법은 아래와 같습니다. 

python3 deepstream_test_1.py ../../../../samples/streams/sample_720p.h264

 아래와 같이 잘 실행이 되셨으면 좋겠습니다. 

 

다짜고짜 실행을 해봤으니 다음 포스트 부터는 다른 복잡한 예제 및 코드 구조에대해 설명하는 시간을 가져보도록 하겠습니다.