元イメージ
元イメージには、nvidiaが用意しているイメージを使用します。
https://ngc.nvidia.com/catalog/containers/nvidia:l4t-pytorch
FROM nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.7-py3
apt install
必要なパッケージをインストールします。
xtermは、docker上の表示をローカルに表示するために必要です。
yoloの場合、Docker上の推論結果の画面をローカルで表示するために使います。
FROM nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.7-py3
RUN apt update \
&& apt install -y \
sudo \
vim \
xterm
pip install
Yoloで必要なパッケージをインストールします。
ここで注意が必要で、yoloのrequirement.txtをそのままインストールすると、torchやtorchvisionのバージョンが崩れてしまいます。Nvidaiのイメージにこれらはすでに含まれているため、txtから抜きました。
また、pipをアップグレードする必要があります。
FROM nvcr.io/nvidia/l4t-pytorch:r32.5.0-pth1.7-py3
RUN apt update \
&& apt install -y \
sudo \
vim \
xterm
RUN pip3 install -U pip
RUN git clone https://github.com/kyasby/jetson-yolo.git requirements
WORKDIR requirements
RUN pip3 install -r requirements.txt
おわりに
さんざん苦労しましたが、以上のみで動きます。
https://github.com/kyasby/jetson-yolo.git
必要であれば、レポジトリそのままお使いもいただけます。
注意
--runtime nvidiaと指定しないと、import torchでエラーが出ます。
dockerの起動コマンドが長いため、docker-composeを使用しました。
install方法はこちら。
https://qiita.com/ryryry/items/b1d4b8604c71f638fe06