Machine Learning/Device

Nvidia Tx2에다가 yolov5 실행하기

jinmc 2021. 7. 29. 11:41
반응형

yolov5는 PC(특히 Ubuntu)에서 굉장히 inference하기 쉬운 형태 입니다.

GPU쓰는 방법만 알아낸다면, 말 그대로 github repository를 clone하고 실행하면 됩니다.

 

하지만 Tx2에서는 되지 않았습니다.

처음에는 Numpy 에러가 생기고,

Illegal instruction (core dumped)

처음에는 numpy 타입이 1.19.5여서 1.19.4로 downgrade도 해보고, 

그 와중에 pip install을 하는 와중에 compile하는 시간도 많이 걸리고, 

compile 하고 시스템 파일들이 저장공간에 많이 쌓여서 저장공간 부족도 생겼었습니다.

 

엄청난 삽질 끝에,

Tx2 CPU의 ARRCH CPU type 때문에 

torch와 torchvision을 다시 compile해야 하는 것을 알게 되었습니다.

게다가, torch와 torchvision도 compatibility가 있다는 것을 알게 되었습니다.

 

https://pypi.org/project/torchvision/

 

torchvision

image and video datasets and models for torch deep learning

pypi.org

이 사이트에 따르면, torch 1.7, 그리고 python3.6이상이면 

torchvision 0.8.0, 또는 torchvision 0.8.1을 깔면 된다고 합니다.

 

게다가 torch와 torchvision을 컴파일하는 방법은,

이 블로그 포스팅에서 잘 나와있습니다.

 

https://ropiens.tistory.com/68

 

NVIDIA Jeston 환경 셋팅 번외편 (Pytorch, yolov4, yolov5 설치)

 작성자 : 한양대학원 융합로봇시스템학과 유승환 석사과정 (CAI LAB)  오늘은 번외로 Pytorch와 yolov4, yolov5를 설치하겠습니다. ROS는 사용하지 않습니다. 번외 1. YOLOv4 설치 아래의 링크가 친절하게

ropiens.tistory.com

 

일단은, torch 와 torchvision을 깔고 확인해줍니다

 

# if you not install pip (python3)
sudo apt-get install python3-pip
pip install --upgrade pip3

# install torch v1.7 (for python 3)
wget https://nvidia.box.com/shared/static/wa34qwrwtk9njtyarwt5nvo6imenfy26.whl -O torch-1.7.0-cp36-cp36m-linux_aarch64.whl
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
pip3 install numpy torch-1.7.0-cp36-cp36m-linux_aarch64.whl

# install torchvision v0.8.1 (for python3)
sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev
git clone --branch v0.8.1 https://github.com/pytorch/vision torchvision
cd torchvision
export BUILD_VERSION=0.8.1 
sudo python3 setup.py install

그리고 나서 yolov5에 필요한 라이브러리들을 설치하면 됩니다.

# pip3 upgrade to ver 20.2.4
sudo pip3 install pip --upgrade

# base
pip3 install matplotlib
pip3 install Pillow
pip3 install PyYAML
pip3 install scipy

# if scipy version < 1.0
# pip3 install scipy --upgrade

pip3 install tensorboard
pip3 install tqdm
pip3 install opencv-python

만일 torchvision이 설치되었고 잘 잡히는데도 불구하고 

시스템이 계속 torchvision을 업그레이드하려고 하면, 

requirements.txt에서 comment하고 install 해주면 됩니다!

반응형