Jetson Nano Tensor RT 설정 가이드

이번에 회사에서 업무용으로 Jetson Nano를 사용해야 해서 환경을 구축했습니다.

2023년 4월 14일 현재 상황에서 적용했을 때 국내 블로그 글 모두 오류가 있는 설정 방법 설명 글을 확인해보세요. (libnvinfer_plugin이 존재하지 않는 등)

지속적인 업데이트의 효과가 있겠지만 결국 가장 중요한 것은 공식 가이드인 것 같습니다.

안 될 때마다 “이 상황에서 내가 뭘 할 수 있을까? 뭘 찾아볼까?” 고민 끝에 “해외 정보를 더 찾아보자” 깃허브 링크를 찾았는데, 저저먼트는 더 공식 전략. 드디어 튜토리얼을 따라가서 추가 설치 없이 바로 해결했습니다.

그래서 제가 해결한 방법을 설명드리겠습니다.

Github 공식 가이드: github.com/dusty-nv/jetson-inference

Nvidia 공식 웹사이트에는 이 github에 대한 언급이 없지만 nvidia jetson 개발자가 운영하는 저장소이며 어제(4월 14일) 업데이트된 잘 관리된 저장소입니다.

깃허브 별점은 6.3K로 참고할 만한 정보임을 보여줍니다.

이 글을 읽는 동안 계속할 수 없는 경우 위 사이트를 방문하여 “시스템 설정” 섹션을 읽는 것이 좋습니다.

1. SD 카드 미러 설정

현재 가이드Jetson Nano 및 Jetson Xavier NX는 SD 카드 이미지를 SD 카드에 직접 구울 필요가 있는 것으로 이해됩니다.

추가 Jetson 장치는 NVIDIA SDK Manager를 사용하여 설정할 수 있습니다.

SD 카드 이미지는 이 주소그냥 가서 다운로드하십시오. 이 주소에서 “Jetson Nano 개발자 키트 SD 카드 이미지”를 찾아 받을 수 있습니다.

Jetson Nano 2GB를 사용하는 경우 “Jetson Nano 2GB 개발자 키트 SD 카드 이미지”를 다운로드할 수 있습니다.

(Mac, Windows, Linux 등 PC OS 설정은 상관없습니다.

)


Jetson Nano SD 카드 이미지

Jetson Nano 장치 지침 또는 특정 설치 방법 공식 가이드허용 이 장소SD 카드 굽기 balenaEtcher 프로그램을 다운로드 한 후 위에서 받은 SD 카드 이미지 zip 파일의 압축을 풀고 “이미지 선택”을 선택하여 파일의 압축을 풉니다.

그런 다음 아래와 같이 진행하면 약 20분 정도 소요됩니다.


SD 카드 굽기 프로그램, balenaEtcher

Jetson Nano Tensor RT 설정, SD 카드 진행

2. 시작, github 클론

위의 작업이 완료되면 아래 그림과 같이 SD 카드를 jetson nano에 삽입하고 전원 공급 장치를 연결한 다음 즉시 전원을 켭니다.

(하단에 64GB라는 숫자가 보이도록 오른쪽에 넣었습니다) 처음에 말씀드린 Github 리포지토리를 복제합니다.


Jetson Nano SD 카드 삽입 방법 (출처: nvidia 개발자 사이트)

그리고 docker 이미지를 다운받아야 하는데 docker/run.sh가 아래와 같다면 설치된 Jetpack과 L4T 버전에 대한 docker를 자동으로 받을 수 있습니다.

추가 연결을 원하시면 “$ docker/run.sh –volume /my/folder:/conatiner/folder” 형식으로 입력하시면 됩니다.

웹캠을 연결하려는 경우 –volume /dev/video0:/dev/video0 형식으로 입력할 수도 있습니다.

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

완료되면 설치가 완료됩니다.

CUDA와 Tensor RT는 모두 JetPack에서 설정되므로 추가 작업이 필요하지 않습니다.

이 장소의 가이드를 참조하여 추론 테스트를 시도할 수 있습니다.

이것은 분류 모델 추론의 예입니다.

TensorRT 위에서 실행됩니다.

최초 접속 시 모델명이 없기 때문에 다운로드를 요청하는 창이 뜹니다.

“download_models.sh” 이 스크립트를 실행하라는 메시지가 표시됩니다.

그대로 따라 실행하면 됩니다.

$ cd jetson-inference/build/aarch64/bin
# Python
$ ./imagenet.py images/orange_0.jpg images/test/output_0.jpg  # (default network is googlenet)


Jetson Nano TensorRT 추론 예시(출처: jetson-inference github)

분류, 분할, 감지, 포즈 추정까지 다양한 분야에 적용할 수 있으며 40만원대 가격(4GB 젯슨 나노)으로도 분할 기준 약 20fps의 성능을 얻을 수 있다.

별도의 서버에 비해 가성비는 여전히 좋고, 인트라넷 용도로도 좋을 것 같습니다.

이 일에 공식 가이드가 얼마나 중요한지 다시 한번 느껴보세요.