[Linux] nvidia deepstream python 설치 방법


Linux Nvidia Deepstream Python 설치 방법

Ubuntu 22.04, CUDA 12.2 환경에서 Deepstream Python 설치 방법을 알아보겠습니다.

Deepstream 설치

여기에서 본인 CUDA 버전에 맞는 DeepStream 버전을 확인합니다.
저는 CUDA 12.2를 사용하기 때문에 DeepStream7.0을 설치할 예정입니다.

위에서 설치해야하는 DeepStream 버전을 확인했다면, 여기에서 본인 버전에 맞는 이미지를 확인합니다.
다운받고자하는 버전의 이미지를 다운 받습니다.
docker pull nvcr.io/nvidia/deepstream:7.0-samples-multiarch
아래 명령어를 통해 showing 옵션 설정을 진행합니다.
xhost +
본인의 버전에 맞도록 아래 사진을 참고하여 도커 컨테이너를 실행합니다.
docker run --gpus all -it --rm --runtime=nvidia --network=host --privileged -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -w /opt/nvidia/deepstream/deepstream-7.0 nvcr.io/nvidia/deepstream:7.0-samples-multiarch

Deepstream Python binding

도커 컨테이너 접속 후 필요한 환경을 설치합니다.
apt update apt install python3-gi python3-dev python3-gst-1.0 python-gi-dev git \ python3 python3-pip python3.10-dev cmake g++ build-essential libglib2.0-dev \ libglib2.0-dev-bin libgstreamer1.0-dev libtool m4 autoconf automake libgirepository1.0-dev libcairo2-dev
여기에서 DeepStream 버전에 해당하는 deepstream_python_apps 버전을 확인 후
해당 버전을 clone합니다.
cd sources git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps.git -b v1.1.11
이후 위에서 확인한 버전에 맞는 whl를 다운받습니다.
wget https://github.com/NVIDIA-AI-IOT/deepstream_python_apps/releases/download/v1.1.11/pyds-1.1.11-py3-none-linux_x86_64.whl
다운받은 whl를 설치합니다.
pip3 install pyds-1.1.11-py3-none-linux_x86_64.whl
설치 이후엔 마지막으로 cuda-python을 본인 cuda 버전에 맞게 다운로드 합니다.
pip3 install cuda-python==12.2

Deepstream Python 실행

간단한 example인 deepstream-test1을 실행하여 구동 유무를 확인합니다.
cd /opt/nvidia/deepstream/deepstream/sources/deepstream_python_apps/deepstream-test1 python3 deepstream_test_1.py /opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264
정상 실행 시, 아래와 같은 로그가 남으며
이후 아래와 같이 정상 동작됨을 확인할 수 있습니다.


참고 문헌

[1]   https://github.com/marcoslucianops/DeepStream-Yolo
[2]   https://catalog.ngc.nvidia.com/orgs/nvidia/containers/deepstream?version=8.0-triton-dgx-spark
[3]   https://github.com/NVIDIA-AI-IOT/deepstream_python_apps
[4]   https://blog.csdn.net/poisonchry/article/details/140516573

댓글

이 블로그의 인기 게시물

[python] selenium close와 quit 차이점

[opencv-python] 이미지 크기조절(resize) 하는 법

[linux] 리눅스 파일 인코딩 확인 및 변경 방법