Linux - Ubuntu/Jetson 사용기

[Jetson] Jetson Nano/Jetson Xavier NX에 TensorFlow 다운 받기 / Ubuntu에 TensorFlow 다운 받기

쟈비쓰 2021. 1. 21. 00:00
728x90

딥러닝 프로젝트를 하다가 알게 된 Nvidia사의 Jetson 시리즈는 단일보드 컴퓨터 느낌이 아닐 정도로 성능이 괜찮다.

이전에는 Jetson Nano만 사용해보다가, 이번에 Jetson Xavier NX를 사용할 수 있는 기회가 생겨서 이번에 사용하는 여정을 기록하면서 사용할까 한다.

 

오늘은 새로 Jetson Xavier NX에 flash한 SD 카드를 넣고 가장 먼저 TensorFlow를 깔아보았다.


Jetpack 4.4를 깔면 자동으로 Ubuntu 18.04가 설치된다.

 

 

이 방법은 모든 젯슨 시리즈(젯슨 나노, 젯슨 자비에 NX 등)에 동일하게 적용된다.

아래 Nvidia사의 다큐멘터리를 참고하여 깔았다.

 

https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html

 

Installing TensorFlow For Jetson Platform :: NVIDIA Deep Learning Frameworks Documentation

Installing TensorFlow for Jetson Platform provides you with the access to the latest version of the framework on a lightweight, mobile platform without being restricted to TensorFlow Lite.

docs.nvidia.com

<텐서플로우를 깔기 위한 준비 단계>

 

1. 일단 젯슨에 Jetpack이 깔려 있어야한다.

SD카드를 flash했다면 깔려 있는 것이니까 진행하면 된다.

 

2. 업데이트한 뒤 텐서플로우 설치에 필요한 패키지 다운로드

$ sudo apt-get update

$ sudo apt-get install libhdf5-serial-dev hdf5-tools libhdf5-dev zlib1g-dev zip libjpeg8-dev liblapack-dev libblas-dev gfortran

 

우분투 처음 사용하시는 분들은 sudo apt-get update은 무언가를 다운로드 하기 전 준비 운동 같이 항상 해준다고 생각하고 있으면 된다.

 

3. pip3를 다운 받은 뒤 업그레이드

$ sudo apt-get install python3-pip

$ sudo pip3 install -U pip testresources setuptools==49.6.0

 

이 다큐멘터리가 2020년 10월 기준이던데 $ sudo pip3 install -U pip testresources setuptools 이라고만 입력하면 51.X.X 버전이 다운받아지길래 난 그냥 최신으로 다운 받았다.

 

4. 필요한 파이썬 패키지들을 깔기

$ sudo pip3 install -U numpy==1.16.1 future==0.18.2 mock==3.0.5 h5py==2.10.0 keras_preprocessing==1.1.1 keras_applications==1.0.8 gast==0.2.2 futures protobuf pybind11

 

7개를 다운받아서 그런지 생각보다 시간이 걸린다..그래도 OpenCV에 비하면 빨리 깔려서 딴 짓하면서 깔면 괜찮다

 

 

<텐서플로우 깔기>

$ sudo pip3 install --pre --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v44 tensorflow

 

Jetpack 4.4.X 와 호환되는 최신 텐서플로우가 깔린다.

 

 

만약에 텐서플로우 버전을 선택하고 싶으면 

 

$ sudo pip3 install --extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v$JP_VERSION tensorflow==$TF_VERSION+nv$NV_VERSION

 

JP_VERSION : Jetpack의 major와minor 버전 (JetPack 4.2.2은 42, JetPack 3.3.1은 33으로 입력)

TF_VERSION : 텐서플로우 버전 (ex. 1.13.1)

NV_VERSION : 엔비디아 container version의 텐서플로우 (ex. 19.01) 

 

 

 

NV_VERSION에 관한 것은 container version 이라는 말을 처음 들어봐서 좀 더 알아봐야 할 것 같다,,,

 

다음에는 파이썬용 IDE를 깔 계획인데 pycharm, vs code, spyder 중에 고민 중이다.

728x90