Jetson AGX Orinを使いこなすうえで参照するリポジトリ
で示したうちの一つへの解説です。
jetson-inferenece のリポジトリとは
NVidia のJetson Developer dusty-nv 氏による
Jetson用の機械学習の推論のリポジトリです
利点
- Nvidia Jetson 用であること。
- tensorRTに最適化されていること。
このような利点があるため、Jetson でまずは何が使えるのかを知るのが楽になります。
まず、自分の利用するJetsonのJetPackを確認する。
Jetpack5.1
Ubuntu 20.04 LTS
{"JetPack5.1",
L4T 35.2.1
CuDNN 8.6.0,
CUDA 11.4.19,
TensorRT 8.5.2,
}
対応するDocker Containerを見つける。
例:
dustynv/jetson-inference:r35.2.1 L4T R35.2.1 JetPack 5.1
Launching the Container
- git cloneとdocker run
$ git clone --recursive --depth=1 https://github.com/dusty-nv/jetson-inference
$ cd jetson-inference
$ docker/run.sh
docker/run.sh will automatically pull the correct container tag from DockerHub based on your currently-installed version of JetPack-L4T, and mount the appropriate data directories and devices so that you can use cameras/display/ect from within the container.
とあるので、適切なコンテナを自動で取得してくれる。
host環境側で
xhost +
を実行しておく。
cmake
mkdir build;
cd build
cmake ..
make
modprobe: FATAL: Module nvidia not found in directory /lib/modules/5.10.104-tegra
docker/run.sh
に以下の行を追加。
+ -v /etc/nvidia-container-runtime:/etc/nvidia-container-runtime \
export PATH=$PATH:/etc/nvidia-container-runtime/host-files-for-container.d/l4t.csv
参考情報:
NVIDIAのForums No cameras available(gstnvarguscamerasrc.cpp, execute:751)への公式のコメント
NVIDIA Jetsonに着目している理由
- 組み込み可能なアルゴリズムを、なるべく多く試したい。
- 購入した時点でそのままWifiも、X-windowも、USBも使える。
- PCでの開発と同じエディタ・コンパイラ・開発環境が使える
- 従来の組み込み向けのボードでの制約がほとんど無い
- Ubuntuベースのライブラリが使えるので、多くのソフトウェア開発者にとってのハードルが少ない。
- Jetson AGX Orinを候補に考えておけば、リソースを減らして十分なことが判明すれば、Nanoなどのデバイスに移行すればいい。