Jetsonでは、使用しているライブラリがJetPackごとに異なっている。
PCでCUDAを使っている場合と設定が違ってくる。
新規に公開されるアルゴリズムの多くは、PC用の設定となっている。
そこで、PC用のDockerfileをJetson用に書き換える。
以下の記事は検証途上です。
自己責任で参照してください。
想定する読者
- Jetson AGX Orin の利用者
- Ubuntu(AMD64) のCUDAを用いて開発されているモジュールをJetson AGX Orinで使いたい人
手順
FROM 行の変更
- Dockerfile のFROM行を読み解く。
FROM pytorch/pytorch:1.13.1-cuda11.6-cudnn8-devel
CUDA 11.6 に近い状況でのJetPackのバージョンを確認します。
そのJetPack に対応するpytorchのディスクイメージをNVIDIA で探します。
NVIDIAでのコンテナの例
探し方
例 torch
PyTorch
を選ぶ。
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-pytorch
ここで
上部で"Tags"を選ぶ。
l4t-pytorchの組合せを選ぶ。
既にJetpackでL4Tのバージョンが決まっていれば、それに適合するのを選ぶ。
pytorch のバージョンは、元になったAMD64でのDocker Image でのpytorchのバージョンにそろえる。
その結果、Dockerfile のFROM行を書き換える。
python3 との指定
- python コマンドをpython とだけ入力したときに、システムによってはpython2.7, python2.8 が起動することがあります。
-
python some.py
とするよりはpython3 some.py
とした方が安全です。
pip
よりも python3 -m pip
を使う。
-
pip
コマンドがpython3のシステムに適応してくれるものなのかは、システムの状況によって異なります。 -
python3 -m pip
で指定するほうが安心です。
JetPackのバージョンアップの影響を評価する
Docker 環境ならば、Jetpack の異なる設定で、同一のプログラムがどのように動作するのかをテストしやすい。
guest環境内で簡単にテストできる内容を増やしていく。
make test
でテストできるようにtestを増やしていく。
pytest でテストできるように
python3 -m pytest test/test*.py
を実行するようにMakefileに記載する。
そうすれば、DockerfileのFROM 行の変更、もしくはDockerfile全体の差し替えで、テストを実行できるだろう。
- JetPack6.0 Developers Preview