본문 바로가기

Jetson

[Jetson Orin] Docker 적용

회사에서 Jetson Orin을 사용하게 되었는데 Jetson 시리즈는 일반 GPU 세팅과는 좀 달라서 많이 애먹었습니다.

한번 거하게 세팅한 것을 날린 뒤로 도커를 써야겠다 결심하고 Nvidia-docker에 머리를 박으면서 정리해보려 합니다.

Docker 설치

Jetson 시리즈는 os를 설치하면 기본적으로 Docker가 설치되어 있지만 USER를 자동으로 Docker 그룹에 포함시키지는 않는다고 합니다.

Root 권한 설정

로그아웃하고 재 로그인하면 된다고 하는데 저는 그냥 깔끔하게 sudo reboot 했습니다.

 sudo usermod -aG docker $USER

Swap 메모리 설정

Swap memory를 6GB로 설정하는 작업입니다. Opencv 4.5 설치시 6GB 이상으로 늘려야된다고 합니다. 이전 버전 설치시 4GB로 진행하면 됩니다.

sudo systemctl disable nvzramconfig
sudo fallocate -l 6G /mnt/6GB.swap
sudo chmod 600 /mnt/6GB.swap
sudo mkswap /mnt/6GB.swap

Swap 설정하고 부팅시 다시 로드하기 위해 /etc/fstab에 적용합니다. 

sudo vim /etc/fstab

그리고 아래 줄을 fstab 파일 밑에 추가합니다. 

/mnt/6GB.swap            swap                     swap           defaults                                     0 0

sudo reboot 을 하고 적용이 잘 되었는지 확인합니다.

free -m

이제 Docker Image를 다운 받거나 Docker 파일을 만들어 필요한 것을 설치하면 됩니다. 

저는 필요한게 많아서 Docker 파일을 만들도록 하겠습니다.

Docker Image 생성

하루종일 삽질하던 중에 jetson-inference 라는 좋은 github를 발견했습니다.

Docker Image 생성이고 뭐고하기전에 이미 다 세팅이 되어서 docker build하고 run만하면 바로 실행되더군요!

https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-docker.md

 

GitHub - dusty-nv/jetson-inference: Hello AI World guide to deploying deep-learning inference networks and deep vision primitive

Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson. - GitHub - dusty-nv/jetson-inference: Hello AI World guide to deployin...

github.com

자신의 Jetpack에 맞게 Container Tag를 변경하고 실행하면 됩니다.

 

한번 docs를 보면서 하시는 것을 추천드립니다.

git clone --recursive --depth=1 https://github.com/dusty-nv/jetson-inference
cd jetson-inference
docker/run.sh

아래 블로그도 제게 많은 도움이 되었네요

https://code.debro.co.kr/64

 

Jetson Nano Tensor RT 세팅 가이드

이번에 회사에서 Jetson Nano를 활용할 일이 있어서, 환경을 세팅해봤습니다. 세팅 방법을 설명하는 글들을 보다보니, 국내 블로그 글들은 2023년 4월 14일, 지금 상황에서 적용하면 다 오류가 발생했

code.debro.co.kr

Jetson에 대해 더 정리가 되면 다시 정리해서 올리겠습니다.