Dockerにする理由
AI系の開発をしている中で、勢いあまって、複数の機能を同じ環境にいれてしまい、整理できない。
音声処理、画像処理、統計予想処理を同じ環境に入れてしまうと後で分離して、開発が不可能になる。
Dockerでわける。
https://www.docker.com/
ひとまず、jetson nanoから
https://catalog.ngc.nvidia.com/orgs/nvidia/containers/l4t-ml
l4t-ml:r35.2.1-py3を使ってみます。
環境
まずは、環境を最新にします。
sudo apt update
sudo apt upgrade -y
mkdir data
cd data
mkdir l4t-ml-r35
cd l4t-ml-r35
docker自体は事前にはいっていると思うので、コンテナ指定して環境取得するシェルを書く
vi rundocker.sh
xhost + sudo docker run \ -it \ --rm \ --net=host \ --runtime nvidia \ -e DISPLAY=$DISPLAY \ -v /tmp/.X11-unix/:/tmp/.X11-unix \ -v ${PWD}:/data \ nvcr.io/nvidia/l4t-ml:r35.2.1-py3
実行権限に変更
chmod a+x rundocker.sh
実行
./rundocker.sh
Status: Downloaded newer image for nvcr.io/nvidia/l4t-ml:r35.2.1-py3
allow 10 sec for JupyterLab to start @ http://192.168.158.57:8888 (password nvidia)
JupterLab logging location: /var/log/jupyter.log (inside the container)
起動しているかを確認
ブラウザで
http://192.168.158.57:8888
パスワード:nvidia
でアクセス
コマンドで
# docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
147cb497e537 nvcr.io/nvidia/l4t-ml:r35.2.1-py3 “/bin/sh -c ‘/bin/ba…” 40 minutes ago Up 39 minutes competent_saha