Notice
Recent Posts
Recent Comments
Link
Connecting
NVIDIA JETSON TX2 초기 설정 및 사용하기 본문
반응형
본 문서는 2018년 05월 31일 기준으로 작성한 문서입니다. 설치 시점과 상의할 수 있으므로 유의하셔야 합니다.
셋팅환경은 Ubuntu 16.04 LTS, NVIDIA JETSON TX2 기반으로 작성되었습니다.
- NVIDIA JETSON TX2는 고성능, 저전력 기반의 임베디드 플랫폼입니다.
- NVIDIA의 최신 Pascal 아키텍쳐로 구성되어 256 CUDA 코어를 가지고 있으며 8GB RAM, 32GB 스토리지, ARM HMP Dual Denver 2/2 MB L2 + Quad ARM® A57/2 MB L2 빅 리틀 구조의 ARM 프로세서를 가지고 있습니다.
- 가격은 약 100만원 전후로 해외구매를 통해서 구입할 수 있으며, 본 문서에서는 초기 설정부터 JetPack, TensorFlow 설치하는 방법까지 기술하도록 하겠습니다.
JETSON TX2 초기 설정하기
- 박스 개봉 이후 조립을 진행합니다.
- 반드시 HDMI가 지원되는 모니터에 JETSON TX2를 연결하고 화면에 표기되는 명령을 실행하여 초기 설정을 진행합니다.
- HDMI to DVI 케이블을 사용할 경우 화면이 표기되지 않을 수 있습니다.
- JETSON TX2는 Ubuntu 16.04 LTS 버전을 사용합니다.
- 기본 username과 password는 nvidia 입니다.
- 지금에서 추가로 설정하더라도 JetPack을 설치하게 되면 커널이 새로 빌드되기 때문에 추가 작업을 진행할 필요 없습니다.
NVIDIA JetPack 이란?
- JetPack SDK는 NVIDIA에서 제공하는 AI 응용 프로그램을 구축할 때 사용하는 포괄적인 솔루션입니다.
- JetPack 인스톨러를 사용하여 최신 OS 이미지로 Jetson Developer Kit을 플래시하고, 호스트 PC와 개발자 키트 용 개발자 도구를 설치하며, 개발 환경을 빠르게 시작하는 데 필요한 라이브러리와 API, 샘플 및 문서를 설치할 수 있습니다.
- L4T R28.2가 탑재 된 JetPack 3.2는 NVIDIA Jetson TX2, Jetson TX2i 및 Jetson TX1의 최신 프로덕션 소프트웨어 릴리스입니다.
- TensorRT, cuDNN, CUDA 툴킷, VisionWorks, GStreamer 및 OpenCV를 포함한 모든 Jetson 플랫폼 소프트웨어를 번들로 제공하며 LTS Linux 커널과 함께 L4T 위에 구축되었습니다.
- 주요 특징으로는 TensorFlow 모델 지원, DL 응용 프로그램의 최대 15 % perf / W 향상, Docker에 대한 즉시 사용 가능한 커널 지원 및 호스트 PC에서의 Ubuntu 16.04 지원이 포함됩니다.
- JetPack의 최신버전은 https://developer.nvidia.com/embedded/jetpack 에서 다운 받으실 수 있습니다.
- 다운로드를 위해서 회원가입을 진행해야 합니다.
NVIDIA JetPack 설치하기
- Ubuntu 16.04 LTS가 설치된 PC 혹은 노트북을 준비합니다.
- 반드시 버전이 동일해야 설치가 가능합니다.
- 모든 작업이 완료되기까지 약 2~3시간이 소요됩니다.
- JESTON TX2와 Ubuntu 16.04 LTS PC가 같은 네트워크에 연결합니다.
- Ubuntu 16.04 LTS PC에서 최신 JetPack을 다운로드 하고 터미널에서 다음과 같이 설정합니다.
- $ chmod +x JetPack-$.run
- 다운로드한 JetPack을 실행합니다.
- NEXT를 눌러서 진행합니다.
- JetPack을 설치할 경로입니다. 기본값으로 설정하고 다음으로 넘어갑니다.
- 개발환경을 설치하기 위해 보유하고 있는 기기를 선택하고 다음으로 진행합니다.
- 위와 같이 모든 선택 옵션을 선택하고 Accept 을 진행합니다.
- 다운로드를 진행하는데 네트워크 환경에 다르지만 대략 30분 정도 소요됩니다.
- 이후 설치하는데 약 10분 정도 소요됩니다.
- 이후 설치를 계속 진행하기 위해서 TX2를 복구모드로 접속해야 합니다.
- 실행중인 TX2의 전원을 종료합니다.
- 전원을 제거합니다.
- 내장된 마이크로 USB을 TX2에 연결하고 Ubuntu 16.04 LTS PC에 USB을 연결합니다.
- 전원을 다시 연결합니다.
- TX2의 전원을 킵니다.
- 이후 리커버리 버튼을 누른 상태에서 리셋버튼을 누르고 2초간 동시에 누른 상태에서 리셋 버튼을 때고 리커버리 버튼을 2초정도 누르고 있습니다.
- Ubuntu 16.04 LTS PC에서 lsusb 명령을 실행하고, NVIDIA Corp. 디바이스가 보이는지 확인합니다.
- 이후 엔터를 JetPack 설치 화면에서 엔터키를 치면 설치가 진행되며 부팅 파일을 옮기며, 필수 라이브러리와 각종 설치파일을 다운로드 및 빌드 작업을 진행합니다. (시간이 오래걸리니 느긋하게 기다리세요.)
- 진행하는 동안 전원을 끄거나 다른 동작을 절대로 진행하지 마세요.
- 셋팅이 완료되면 모든 설정이 초기상태로 돌아갑니다.
- 비밀번호도 초기상태로 진행됩니다.
- 설치가 완료되면 업데이트를 진행합니다.
- 만약 GPG error: file:/var/cuda-repo-9-0-local Release: The following signatures couldn't.... 이라는 오류가 발생하면 다음과 같이 명령을 입력합니다.
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F60F4B3D7FA2AF80
- $ sudo apt update && sudo apt upgrade -y
- 샘플 프로그램을 실행하기 위해 다음과 같은 명령을 실행합니다.
- 실행이 완료되면 영상과 함께 실시간으로 차량이 분석되는 영상이 출력됩니다.
sudo ./jetson_clocks.shcd ~/tegra_multimedia_api/samples/backend
./backend 1 ../../data/Video/sample_outdoor_car_1080p_10fps.h264 H264 --trt-deployfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.prototxt --trt-modelfile ../../data/Model/GoogleNet_one_class/GoogleNet_modified_oneClass_halfHD.caffemodel --trt-forcefp32 0 --trt-proc-interval 1 -fps 10
NVIDIA JETSON TX2 JetPack3.2 TensorFlow 설치하기
- JAVA 8 버전을 먼저 설치합니다.
- $ sudo apt-get update
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java8-installer - 다음 명령을 실행하여 의존성 파일을 설치합니다.
- $ sudo apt-get install python3-numpy swig python3-dev python3-pip python3-wheel -y
- Bazel을 설치합니다.
- $ wget --no-check-certificate
https://github.com/bazelbuild/bazel/releases/download/0.10.0/bazel-0.10.0-dist.zip
$ unzip bazel-0.10.0-dist.zip -d bazel-0.10.0-dist
$ cd bazel-0.10.0-dist
./compile.sh
$ cp output/bazel /usr/local/bin - github에서 tensorflow를 clone 합니다.
- $ git clone https://github.com/tensorflow/tensorflow
- 다음과 같이 TensorFlow 셋팅을 진행합니다.
- $ cd tensorflow
$ ./configure
You have bazel 0.10.0- (@non-git) installed.
Please specify the location of python. [Default is /usr/bin/python]: /usr/bin/python3
Found possible Python library paths:
/usr/local/lib/python3.5/dist-packages
/usr/lib/python3/dist-packages
Please input the desired Python library path to use. Default is [/usr/local/lib/python3.5/dist-packages]
Do you wish to build TensorFlow with jemalloc as malloc support? [Y/n]:
jemalloc as malloc support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Google Cloud Platform support? [Y/n]: n
No Google Cloud Platform support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Hadoop File System support? [Y/n]: n
No Hadoop File System support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Amazon S3 File System support? [Y/n]: n
No Amazon S3 File System support will be enabled for TensorFlow.
Do you wish to build TensorFlow with Apache Kafka Platform support? [y/N]: n
No Apache Kafka Platform support will be enabled for TensorFlow.
Do you wish to build TensorFlow with XLA JIT support? [y/N]: n
No XLA JIT support will be enabled for TensorFlow.
Do you wish to build TensorFlow with GDR support? [y/N]:
No GDR support will be enabled for TensorFlow.
Do you wish to build TensorFlow with VERBS support? [y/N]:
No VERBS support will be enabled for TensorFlow.
Do you wish to build TensorFlow with OpenCL SYCL support? [y/N]:
No OpenCL SYCL support will be enabled for TensorFlow.
Do you wish to build TensorFlow with CUDA support? [y/N]: y
CUDA support will be enabled for TensorFlow.
Please specify the CUDA SDK version you want to use, e.g. 7.0. [Leave empty to default to CUDA 9.0]:
Please specify the location where CUDA 9.0 toolkit is installed. Refer to README.md for more details. [Default is /usr/local/cuda]: /usr/local/cuda-9.0
Please specify the cuDNN version you want to use. [Leave empty to default to cuDNN 7.0]:
Please specify the location where cuDNN 7 library is installed. Refer to README.md for more details. [Default is /usr/local/cuda-9.0]:
Do you wish to build TensorFlow with TensorRT support? [y/N]:
No TensorRT support will be enabled for TensorFlow.
Please specify a list of comma-separated Cuda compute capabilities you want to build with.
You can find the compute capability of your device at: https://developer.nvidia.com/cuda-gpus.
Please note that each additional compute capability significantly increases your build time and binary size. [Default is: 3.5,5.2]
Do you want to use clang as CUDA compiler? [y/N]:
nvcc will be used as CUDA compiler.
Please specify which gcc should be used by nvcc as the host compiler. [Default is /usr/bin/gcc]:
Do you wish to build TensorFlow with MPI support? [y/N]:
No MPI support will be enabled for TensorFlow.
Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is -march=native]:
Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]:
Not configuring the WORKSPACE for Android builds.
Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command. See tools/bazel.rc for more details.
--config=mkl # Build with MKL support.
--config=monolithic # Config for mostly static monolithic build.
--config=tensorrt # Build with TensorRT support.
Configuration finished - TensorFlow 빌드를 진행합니다.
- $ bazel build --config=opt --config=cuda
- https://devtalk.nvidia.com/default/topic/1031300/tensorflow-1-7-wheel-with-jetpack-3-2-/
- 위의 URL에서 TensorFlow 1.8 버전을 다운로드 받습니다.
- 다음 명령을 실행하여 TensorFlow 설치를 진행합니다.
- $ pip3 install tensorflow-1.8.0-cp35-cp35m-linux_aarch64.whl
설치 마무리
- 모든 설치가 마무리 되었습니다.
- 설정하시느라 고생 많으셨습니다. 다시한번 말씀 드리지만 본 설치 시점과 설정하시는 부분에 따라서 차이가 있으므로 유의하시길 바랍니다.
- 현재 시점에서 Ubuntu 18.04 LTS 지원계획은 아직 없습니다. 혹시나 지원 소식이 나오면 추가적인 포스팅을 진행하도록 하겠습니다.
'딥러닝' 카테고리의 다른 글
Nvidia Jetson Install Guide - 2021년 (0) | 2021.04.19 |
---|---|
텐서플로우(TensorFlow) 설치하기 (2) | 2018.03.14 |
Comments