NVIDIA Jetson Nano 개발자 키트에서 TF-TRT를 사용한 물체 감지 시도
TF-TRT
NVIDIA Jetson Nano 개발자 키트에서 TensorRT 샘플 프로그램 사용 에서 TensorRT 을 Jetson Nano 로 이용하는 방법에 대해 소개하겠습니다만, TensorRT 를 이용하는 방법은 또 하나 존재합니다. TensorRT는 TensorFlow에 통합되어 있으므로 TensorFlow에서 TensorRT 기능을 사용할 수 있습니다. 이 메커니즘을 TF-TRT라고 하며, TensorRT 지원 신경망 계층은 TensorRT에서 최적화되고, 그렇지 않은 계층은 TensorFlow에서 그대로 처리됩니다. 신경망 모델을 TensorRT로 변환하는 방법에 비해 성능이 약간 떨어지지만 쉽게 사용할 수 있다는 장점이 있습니다.
TensorFlow/TensorRT Models on Jetson
TF-TRT를 이용한 물체 인식과 물체 검출의 샘플이 NVIDIA-AI-IOT/tf_trt_models 로 공개되어 각각 Jupyter 노트북에서 시험할 수 있습니다. 여기에서 물체 감지 Jupyter 노트북 tf_trt_models/examples/detection/detection.ipynb을 사용해 보겠습니다.
먼저 Setup에 설명된 대로 필요한 모듈을 설치합니다. Python3에서 시도하는 경우 2 단계에서 설치 한 모듈 python-pip 및 python-matplotlib는 각각 python3-pip 및 python3-matplotlib로 변경해야합니다.
Setup에 설명된 모듈 외에도 Jupyter를 설치해야 합니다.
$ sudo pip3 install jupyter
또한 TensorFlow에서 학습한 모델에 TensorRT 최적화를 적용하는 과정에서 많은 메모리가 필요합니다. 다음과 같이 스왑 공간을 할당하여 이 문제를 해결합니다. 1
$ sudo fallocate -l 4G /var/swapfile
$ sudo chmod 600 /var/swapfile
$ sudo mkswap /var/swapfile
$ sudo swapon /var/swapfile
$ sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
설치가 완료되면 Jupyter Notebook을 시작합니다.
$ jupyter notebook
웹 브라우저가 자동으로 시작됩니다.
examples -> detection 으로 이동하여 detection.ipynb 를 클릭합니다.
나중에 Jupyter 노트북에서 Python 스크립트를 순서대로 실행하여 TF-TRT의 작동 방식을 배울 수 있습니다. 여기서 수행되는 처리는 다음과 같습니다.
TF-TRT를 이용한 물체 인식과 물체 검출의 샘플이 NVIDIA-AI-IOT/tf_trt_models 로 공개되어 각각 Jupyter 노트북에서 시험할 수 있습니다. 여기에서 물체 감지 Jupyter 노트북 tf_trt_models/examples/detection/detection.ipynb을 사용해 보겠습니다.
먼저 Setup에 설명된 대로 필요한 모듈을 설치합니다. Python3에서 시도하는 경우 2 단계에서 설치 한 모듈 python-pip 및 python-matplotlib는 각각 python3-pip 및 python3-matplotlib로 변경해야합니다.
Setup에 설명된 모듈 외에도 Jupyter를 설치해야 합니다.
$ sudo pip3 install jupyter
또한 TensorFlow에서 학습한 모델에 TensorRT 최적화를 적용하는 과정에서 많은 메모리가 필요합니다. 다음과 같이 스왑 공간을 할당하여 이 문제를 해결합니다. 1
$ sudo fallocate -l 4G /var/swapfile
$ sudo chmod 600 /var/swapfile
$ sudo mkswap /var/swapfile
$ sudo swapon /var/swapfile
$ sudo bash -c 'echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab'
설치가 완료되면 Jupyter Notebook을 시작합니다.
$ jupyter notebook
웹 브라우저가 자동으로 시작됩니다.
examples -> detection 으로 이동하여 detection.ipynb 를 클릭합니다.
나중에 Jupyter 노트북에서 Python 스크립트를 순서대로 실행하여 TF-TRT의 작동 방식을 배울 수 있습니다. 여기서 수행되는 처리는 다음과 같습니다.
카메라 이미지에서 물체 감지
위의 detection.ipynb Jupyter 노트북을 실행하는 동안 TensorRT에서 최적화 된 TensorFlow 그래프 (모델)는 tf_trt_models/examples/detection/data/ssd_inception_v2_coco_trt.pb 파일로 저장되지만이 모델을 사용하여 카메라 이미지의 거의 실시간 물체 검출을 시도했습니다.
코드를 tsutof/tf-trt-ssd에서 게시 중입니다.
모델 로드에 시간이 걸리기 때문에 기동에 3분 정도 기다려야 합니다.
이상입니다.
이 페이지 를 참고했습니다. ↩
모델내의 변수가 모두 정수로 변환된 상태를 프로즌이라고 부르는 것 같습니다만, 나의 공부 부족으로 상세는 모릅니다. ↩
Reference
이 문제에 관하여(NVIDIA Jetson Nano 개발자 키트에서 TF-TRT를 사용한 물체 감지 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tsutof/items/0328ede42d509eb247ad
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(NVIDIA Jetson Nano 개발자 키트에서 TF-TRT를 사용한 물체 감지 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tsutof/items/0328ede42d509eb247ad텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)