Jetson nanoを使ったのでセットアップの備忘録。
「nv-jetson-nano-sd-card-image-r32.3.1(JetPack 4.3)」のページのイメージをMicro SDカードに焼いた。(from qiitaの記事)
JetPacはtensorflowの都合でJetpack==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
らしいので、
$ 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で書き込み。
書き込み完了。
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
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.9.0 | 0.10.0 |
---|---|
1.9.1 | 0.10.1 |
1.10.0 | 0.11.0 |
1.10.1 | 0.11.2 |
1.11.0 | 0.12.0 |
1.12.1 | 0.13.1 |
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上での推論をモニターで写した動画。
画像サイズ小さくしたから、距離推定の値も小さくなってもうた。
tensorRTとかc++は機会があったら。