2022/07/30 アップデート済(updated)
Jetson Nanoを使うからには、当然、機械学習やディープラーニングの環境を整えることが必要になります。
Dockerを使う予定でしたけど、いろいろ問題点があるようですので、解決したら更新します。
【参考までに】Jetson Nano の場合
【フレームワーク周り】
使用したイメージ(Jetpack4.6)のOS (Ubuntu 18.04 LTS) に実装されているPythonの現バージョンは3.6.9です。
pip3
1 2 3 |
sudo apt-get install python3-pip python3 -m pip install --upgrade pip |
scikit-learn
1 2 3 4 5 |
sudo apt-get install liblapack-dev libatlas-base-dev gfortran sudo pip3 install scipy sudo apt-get install python3-numpy python3-pandas python3-sklearn |
mlxtendを使う場合
$sudo apt-get install libfreetype6 libfreetype6-dev
$sudo pip3 install cython
$sudo pip3 install mlxtend
Jupyter Notebook
1 2 3 4 5 |
sudo apt install nodejs npm sudo apt-get install libffi-dev sudo pip3 install notebook |
Jupyterを起動してブラウザーで開きます。
$jupyter notebook
Chainer
$sudo pip3 install chainer
Caffe
NVIDIA版Caffe -> NVCaffe(工事中)
Makefile.configの編集
● JetsonのPythonは3.6なので、3.5の部分は置き換え
● JetsonのGPUアーキテクチャーはcompute20をサポートしていないので削除
● lhdf5_hlがないというコンパイルエラーが出た場合
JetsonのCPUアーキテクチャーはaarch64なので以下ように置き換え
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/aarch_64-linux-gnu/hdf5/serial
skimageインストール
$sudo pip3 install scikit-image
import時にscipyのDecoratorエラーが出た場合はscipyのアップグレードかインストール
$sudo pip3 install (-U) scipy
TensrFlow
NVIDIAの公式で紹介されている方法ではできないようです….?wheelでインストール
$sudo pip3 install wheel
依存ライブラリ
$ sudo apt-get install libhdf5-serial-dev
インストール
$ 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
アップグレード
$sudo pip3 install –upgrade –extra-index-url https://developer.download.nvidia.com/compute/redist/jp/v42 tensorflow-gpu
2019/08/17現在の最新バージョンは1.14.0
PyTorch
Keras
$sudo apt-get install -y liblapack-dev gfortran
$sudo pip3 install keras
OpenCV 3.4.6
$git clone https://github.com/jkjung-avt/jetson_nano.git
$cd jetson_nano
$./install_opencv-3.4.6.sh
Darknet
学習モデルの相互変換(クロス・フレームワーク・ソリューション)
Microsoft謹製 MMdnn
インストール
$sudo pip3 install mmdnn
サポートされているフレームワーク
- Caffe
- Microsoft Cognitive Toolkit (CNTK)
- CoreML
- Keras
- MXNet
- ONNX (Destination only)
- PyTorch
- TensorFlow (Experimental) (We highly recommend you read the README of TensorFlow first)
- DarkNet (Source only, Experiment)
1 2 3 4 5 6 7 8 9 10 11 |
//JetsonをCPU4コアで動作させる,0が最大(1が最小) $sudo nvpmodel -m 0 //Jetsonを最大周波数で動作させる $sudo jetson_clocks //現在の設定値の確認 $sudo jetson_clocks --show |
【H/W周り】
Camera
●USBカメラ(/dev/video0)の場合
この方のスクリプトをお借りします。
$wget https://gist.githubusercontent.com/jkjung-avt/86b60a7723b97da19f7bfa3cb7d2690e/raw/9561b135c1b40f82afe46afcc1f326a2e913e08c/tegra-cam.py
以下を実行してOpenCVでカメラウィンドウが開けばOK
1 |
$python3 tegra-cam.py --usb --vid 0 --width 640 --height 360 |
注:カメラが古すぎるとOpenCVが見つけられないことがあるようです。Webカメラは新しい型をつかいましょう。
OR
以下のコマンドでアサインされているvideo番号を確認
1 |
ls -al /dev/video* |
/dev/video1にカメラがアサインされている場合
1 |
nvgstcapture --camsrc=0 --cap-dev-node=1 |
(リモートデスクトップでも画像を確認できます)
●ラズパイ用のカメラモジュール V2の場合(V1は使用できません)
ちなみに、カメラのレンズの向きとフラットケーブルの印刷面は同じ向きです。ケーブルを交換するとき注意しましょう。
/dev/video0が存在するか確認
$ls -al /dev/video0
以下のコマンドでHDMIディスプレイに画像が表示されればOK
(リモートデスクトップでは確認できません)
$nvgstcapture
回転(1:90度、2:180度、3:270度)
1 |
$nvgstcapture --orientation=2 |
Microphone
Jetsonでの予定なし
Speaker
Jetsonにはステレオジャックがついてないので、Quimatディスプレイのジャックに接続
HDMIを選んで出力を確認します
【通信】
無線LAN(Wi-Fi)
ラズパイのような使い方はしないと思うので今回は見送り
Bluetooth
不要と判断
無線通信を実現するには「M.2用 WiFi Bluetoothコンボカード」ってのが必要なようです。
ヒートシンクとプロセッシング・ユニットのモジュール部分を外して取り付けるそうです。
Leave a Reply