computer vision

jetson agx orin에서 nanoowl 모델 실행하기

앞발로코딩 2025. 2. 14. 15:13
 

NanoOWL - NVIDIA Jetson AI Lab

Tutorial - NanoOWL Let's run NanoOWL , OWL-ViT optimized to run real-time on Jetson with NVIDIA TensorRT . What you need One of the following Jetson: Jetson AGX Orin (64GB) Jetson AGX Orin (32GB) Jetson Orin NX (16GB) Jetson Orin Nano (8GB) Running one of

www.jetson-ai-lab.com

 

여기 엔비디아 공식 문서를 따라하면 쉽게할수있다

 

 

1. 내가 가지고 있는 하드웨어가 이걸 굴릴수있는지 확인

2. JetPack 버전 확인

3. SSD 마운팅

 

🔖 SSD + Docker - NVIDIA Jetson AI Lab

Tips - SSD + Docker Once you have your Jetson set up by flashing the latest Jetson Linux (L4T) BSP on it or by flashing the SD card with the whole JetPack image, before embarking on testing out all the great generative AI application using jetson-container

www.jetson-ai-lab.com

 

4. jetson-containers 패키지 다운로드

jetson-containers 패키지는 젯슨 나노용 도커라고 생각하면 된다 이걸로 컨테이너 만들면 도커 컨테이너가 생성된다

 

 

공식가이드에서는 카메라를 연결하라고 했지만 난 카메라가 없기에 사진으로 대체하여 테스트하고자한다

그래서 깃허브에 있는 가이드를 따라하였다

 

GitHub - NVIDIA-AI-IOT/nanoowl: A project that optimizes OWL-ViT for real-time inference with NVIDIA TensorRT.

A project that optimizes OWL-ViT for real-time inference with NVIDIA TensorRT. - NVIDIA-AI-IOT/nanoowl

github.com

 

세팅

컨테이너부터 만들어주자

깃허브 가이드에서는 workdir를 /opt/nanoowl 로 하라고 되어있는데 나는 이렇게 하다가 뭐가 뭔지 모르겠어서 그냥 home에 만들어놨던 폴더로 하였다

jetson-containers run --workdir /home/wise/Workspace $(autotag nanoowl)

nanoowl패키지 다운로드

git clone https://github.com/NVIDIA-AI-IOT/nanoowl
cd nanoowl
python3 setup.py develop --user

TensorRT 엔진을 구워보자

mkdir -p data
python3 -m nanoowl.build_image_encoder_engine \
    data/owl_image_encoder_patch32.engine
cd examples
python3 owl_predict.py \
    --prompt="[an owl, a glove]" \
    --threshold=0.1 \
    --image_encoder_engine=../data/owl_image_encoder_patch32.engine

이렇게하면 /["workdir"]/nanoowl/data/owl_predict_out.jpg 에 결과 이미지가 생성된다

 

도커 컨테이너 내에서는 이미지를 확인할수없으니 옮겨주자

docker cp [docker ps 명령어로 확인한 container id]:/home/wise/Workspace/nanoowl/data/owl_predict_out.jpg /home/wise/Pictures
docker cp e6a2147cfadf:/["workdir"]/nanoowl/data/owl_predict_out.jpg ["원하는 경로"]

결과 이미지(귀엽다)

 

바로 이어서 아래 코드를 실행하려했는데 오류가 떴다

python3 tree_predict.py \
    --prompt="[an owl [a wing, an eye]]" \
    --threshold=0.15 \
    --image_encoder_engine=../data/owl_image_encoder_patch32.engine

/root/.cache/clip가 있어서 안됐다고 한다 ls -la /root/.cache 명령어로 확인해보니 보이길래 rm /root/.cache/clip으로 지워준뒤 다시 실행했다

 

data/tree_predict_out.jpg가 결과값으로 나왔으니 아까처럼 옮겨서 확인하면

tree_predict.py 실행 결과 이미지(더 귀엽다)