개발자 구겹이

import jetson_inference 본문

LINUX

import jetson_inference

@layers9 2025. 4. 10. 19:19

import jetson_inference 를 할 수 없음

>> build 과정이 제대로 못 진행됐다던가

>> 서로 호환되어야 할 것들이 매칭이 안 된 것일 수 있다.

** jetson_inference 모듈은 jetson 보드에서 사용할 수 있음

 

우분투에서 접한 import jetson 불가 에러 관련 issue를 정리해본다.

누구를 위하여? 나 (⸝⸝⸝⁼̴́◡⁼̴̀⸝⸝⸝)를 위하여

 

 

1. 관련 개념

1) CUDA; Compute Unified Device Architecture;

NVIDIA에서 만든 GPU 병렬 컴퓨팅 플랫폼이자 API임 : GPU를 일반적인 연산에도 쓸 수 있게 해주는 기술

* 딥러닝은 CUDA 없이 못 돌린다고 할 수 있을만큼 중요한 기능을 수행하는 쿠다

  > pytorch, tensorflow와 같은 프레임워크들이 cuda위에서 돌아감

  >> cuda가 있으면 : gpu,

  >> cuda가 없으면 : cpu로 학습을 진행

 

>>

 torch.cuda.is_available()

 

 

2) $ pip list | grep opencv, $ pkg-config --modversion [opencv4] 

python.exe 로 진입해서 import 모듈을 해보았을 때, pip list에 있는 모듈과 시스템의 모듈을 불러오는데는 분명한 차이가 있음

아래는 이와 관련한 gpu가 가진 지식을 가지고 온것임

 

기존 pip 로 설치되는 대부분의 패키지 >> cpu 전용으로 설치됨 : cuda와 연동 안됨(?) 

>> jetson 관련 모듈을 직접 build해야 하는 이유이기도 함 : du

 

2. import jetson ~을 위한 필요 과정들

1) jetson_inference를 쓰기 위해 필요한 것들

① CUDA가 활성화된 OpenCV

>> cuda 옵션을 켜서 소스 빌드 필요. WITH_CUDA = ON

② Jetson에 최적화된 Pytorch + torchvision

>> NVIDIA에 제공하는 Jetpack버전에 맞는 wheel 파일 사용

>> Pytorch 버전에 맞춰 git clone 후 직접 build/install

③ 라이브러리들 간의 CUDA 호환성 확인

>> 영상 처리, 객체 탐지, 분류, 세그멘테이션 등을 cuda 가속으로 돌리기 때문에, 이 모듈들이 같은 버전에서 빌드되어 있어야,

import jetson_inference 가 잘 작동됨. jetson_inference는 내부적으로 OpenCV, Pytorch를 이용해 cuda를 돌린다고 함.

④ CMake로 jetson-inference 빌드

 

2) 버전 기록

Device : agx xavier  Orin  ff

OS : Ubuntu 20.04 << 18.04버전을 다운받았는데, 터미널에서 조회해보니 20.04가 출력됨

Jetpack : 5.1.5 ( sdkmanager : 2.2.0)

 

OpenCV 4.5

CUDA 11.4

CUDA -X AI _ cuDNN 8.6

CUDA -X AI _ TensorRT 8.5

ComputerVision _ OpenCV 4.5

CompyterVision _ VPI on Target 2.4

 

 

3) jetson_inference 임포트를 위한 관련 모듈들 설치 순서

torch>torchvision>opencv>jetson_inference

 

① torch설치 : jetson용으로 nvidia가 빌드한 wheel파일을 사용할 것

# 예시 (PyTorch 2.0.0 for JetPack 5.1.1+)
wget https://nvidia.box.com/shared/static/ez58yq6qt0e4d12o4x3qksz1kz03vrz7.whl -O torch-2.0.0-cp38-cp38-linux_aarch64.whl
pip3 install torch-2.0.0-cp38-cp38-linux_aarch64.whl

 

② torchvision설치 : torch 버전에 맞게 github에서 소스를 받아 빌드해야 함

sudo apt-get install libjpeg-dev zlib1g-dev
git clone --branch v0.15.1 https://github.com/pytorch/vision torchvision
cd torchvision
python3 setup.py install

 

③ opencv설치: cuda활성화된 버전으로. jetpack에 opencv는 기본 설치되어 있지만, cuda 지원이 꺼져있음*

sudo apt-get remove libopencv*
sudo apt-get install cmake g++ python3-dev python3-numpy
git clone https://github.com/opencv/opencv.git
git clone https://github.com/opencv/opencv_contrib.git
cd opencv
mkdir build && cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_CUDA=ON \
-D CUDA_ARCH_BIN=7.2 \ #xavier nx, agx xavier 기준 버전임. 보드에 따라 바꿔줄 것
-D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules \
-D BUILD_opencv_python3=ON \
-D ENABLE_NEON=ON \
-D WITH_GSTREAMER=ON \
-D WITH_LIBV4L=ON \
-D BUILD_TESTS=OFF \ -D BUILD_PERF_TESTS=OFF \
-D BUILD_EXAMPLES=OFF ..
#cf. cmake-gui

make -j$(nproc)
sudo make install

 

④ jetson_inference 빌드

git clone --recursive https://github.com/dusty-nv/jetson-inference
cd jetson-inference
mkdir build && cd build
cmake ../
make -j$(nproc)
sudo make install

 

3. 참고해볼만한 문서

OpenCV : 4.5.4 with CUDA : NO >> https://makejarvis.tistory.com/88

 

Nvidia AGX Xavier의 OpenCV 4.10.0 with CUDA 설치(GPU사용)

아래 글은 과거에 작성해둔 글을 현기준(2024.6월)으로 추가 업데이트를 하였습니다.  내용에 기존 것과 좀 섞여있을 수 있는데, 절차는 문제가 없으니 따라하시면 됩니다.jetpack을 설치하면 OpenCV

makejarvis.tistory.com