アプリとサービスのすすめ

アプリやIT系のサービスを中心に書いていきます。たまに副業やビジネス関係の情報なども気ままにつづります

Jetson Nano セットアップ備忘録 (Pytorch , onnxとか動かすまで)

Jetson nanoを使ったのでセットアップの備忘録。

nv-jetson-nano-sd-card-image-r32.3.1(JetPack 4.3)」のページのイメージをMicro SDカードに焼いた。(from qiitaの記事)


最新バージョンはJetpack==4.5.1だけど4.3に合わせた。

パーツ一式はこのサイト「Mac でJetson Nanoをセットアップ」を参考にした。

目次
1.SDカードに書き込み
2.はじめにjetson nano起動 & apt upgrade
3.仮想環境作成
4.Pytorch のinstall
5.whlでTensorflowのインストール
6.jetson上でonnxでyolov4のリアルタイム推論してみる

1.SDカードに書き込み

Getting Started with Jetson Nano Developer Kit」通りにパーティションをいじる。

SDカードが刺さってない状態

# 何も表示されない。
$ diskutil list external | fgrep '/dev/disk' 

SDカード入れると

$ diskutil list external | fgrep '/dev/disk'
>>>>>
/dev/disk4 (external, physical):
/dev/disk5 (synthesized):


EtcherからSDカードは/dev/disk4らしいので、
f:id:trafalbad:20210804090050p:plain

$ sudo diskutil partitionDisk /dev/disk4 1 GPT "Free Space" "%noformat%" 100% 
>>>>
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Finished partitioning on disk4

Etcherで書き込み。

書き込み完了。
f:id:trafalbad:20210804091011p:plain



2.はじめにjetson nano起動 & apt upgrade

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

3.仮想環境作成

sudo apt install python3-venv

仮想環境の例

python3 -m venv place
cd place
source bin/activate

# 抜けるとき
deactivate
python3 -m venv place 
cd place
source bin/activate

# dependencies
# sudo pip3 install wheel
sudo apt install gfortran libopenblas-base libopenmpi-dev libopenblas-dev libjpeg-dev zlib1g-dev libv4l-dev python3-pip
# pip update
sudo pip3 install -U pip

# sudo pip3 install jupyter notebook
sudo pip3 install cython numpy # scipy
sudo pip3 install pandas tqdm Pillow pybind11 scikit-learn
sudo pip3 install opencv-python

4.Pytorch のinstall

nvidiaのサイトから

pytorch version 1.4をdownload

wget https://nvidia.box.com/shared/static/ncgzus5o23uck9i5oth2n8n06k340l6k.whl -O torch-1.4.0-cp36-cp36m-linux_aarch64.whl

sudo pip3 install torch-1.4.0-cp36-cp36m-linux_aarch64.whl

# torchvision インストール
pip3 uninstall numpy
pip3 install numpy==1.19.4

git clone https://github.com/pytorch/vision torchvision
cd torchvision && git checkout v0.5.0 && export BUILD_VERSION=0.5.0
sudo python3 setup.py install


Version確認

$ python3
$ import torch
$ torch.__version__
>>>>>
'1.4.0'


Pytorch とtorchVisionのversionの対応表






Pytorchのバージョン対応するtorchVisionのバージョン
1.0v0.2.2
1.1v0.3.0
1.2v0.4.0
1.3v0.4.2
1.4v0.5.0


5.whlでTensorflowのインストール

whlでnvidiaのサイトからインストールする。

sudo apt-get install libjpeg8-dev hdf5-tools libhdf5-serial-dev libhdf5-dev zlib1g-dev zip

# Python package dependencies
sudo pip3 install bumpy grpcio absl-py py-cpuinfo psutil portpicker mock six requests gast h5py astor termcolor wrapt protobuf google-pasta keras_preprocessing keras_applications

# tensorflow install
sudo pip3 install https://developer.download.nvidia.com/compute/redist/jp/v42/tensorflow-gpu/tensorflow_gpu-1.13.1+nv19.5-cp36-cp36m-linux_aarch64.whl


tensorflowのversion確認

$ python3 
$ import tensorflow as tf
$ tf.__version__
>>>
1.13.1


6.jetson上でonnxでyolov4のリアルタイム推論してみる

onnxに変換したyolov4-tinyでリアルタイム推論してみる。

# onnx dependencies
sudo apt install libprotobuf-dev protobuf-compiler pybind11-dev libprotoc-dev

# onnx install
sudo pip3 install onnxruntime
sudo pip3 install onnxconverter-common==1.6.0
sudo pip3 install onnx==1.6.0

# 推論
$ python3 camera_estimate.py yolov4_tiny.onnx

jetson上での推論をモニターで写した動画。

f:id:trafalbad:20210805220141g:plain

画像サイズ小さくしたから、距離推定の値も小さくなってもうた。
tensorRTとかc++は機会があったら。




f:id:trafalbad:20210805220415j:plain
大相撲インフェルノ(趣味のカラクリ武器作り)

参考サイト

This guide provides instructions for installing TensorFlow for Jetson Platform.

【Jetson_nano】インストールからTensorflow,Chainer,そしてKeras環境構築出来たよ♬

【Jetson Nano】Jetson NanoにPyTorchをインストールしようとしてハマった話。