Jetson Nano 2GBのセットアップ ~環境構築編~


Jetson

Jetson Nano 2GBのセットアップ ~環境構築編~

はじめに

Jetson Nano 2GB とは NVIDIA社によって販売されている小型のエッジコンピューティング用のGPUコンピューティングボードです。これを使って Kaggleの学習をさせるためにセットアップします。今回は環境構築について書きます。
行うことはこちらに書いてあることと同じため公式の方が良い方はこちらをみてください。
ただし、注意点もあるので気をつけてください。

環境構築方法

今回はdockerを使用して環境構築をしていきます。dockerjetpackに標準で入っている通り、NVIDIAもdockerを使用することを推奨している感じなので素直に従っていきましょう。

イメージの方法

イメージ自体はここからとってきます。

NGCとは

NGC はディープラーニング、機械学習、HPC のための GPU 対応ソフトウェア総合カタログを提供しています。NGC コンテナーは、高性能かつ導入が容易なソフトウェアを提供します。既に NGC コンテナーを使い、最速の結果を出したという実績もあります。インフラの構築から開放されるので、NGC を利用して、ユーザーは効率の良いモデルの構築、最適なソリューションの実現、短時間でのインサイトの収集に集中できます。

Dockerとハードウェア

先ほどはDocker Hubに共有されているイメージをベースとして、Dockerfileを作成することで自分のイメージを作成し、それを元にコンテナを起動します。
しかし、GPUを使った処理を行う場合、作成するコンテナをGPUに対応させる必要が出てくるため、NVIDIAドライバのインストールなど、 実行する環境によってさまざまなソフトウェアをインストールするなどしてインフラ構築を行う必要があります。

イメージの構築

今回使用するイメージはこちらです。
以下のライブラリがあらかじめインストールされています。

  • TensorFlow 1.15.5
  • PyTorch v1.9.0
  • torchvision v0.10.0
  • torchaudio v0.9.0
  • onnx 1.8.0
  • CuPy 8.0.0
  • numpy 1.19.5
  • numba 0.53.1
  • OpenCV 4.4.0 (with CUDA)
  • pandas 1.1.5
  • scipy 1.5.4
  • scikit-learn 0.23.2
  • JupyterLab 2.2.9
    特にPyTorchとJupyterLabがインストールされているのでKaggleに使いやすいと思い、採用しました。

以下のコマンドを実行してイメージをビルドし、コンテナを立ち上げます。

1
sudo docker run -it --rm --runtime nvidia --network host nvcr.io/nvidia/l4t-ml:r35.2.1-py3

すると以下のログが流れます。

1
2
allow 10 sec for JupyterLab to start @ http://192.168.1.19:8888 (password nvidia)
JupterLab logging location: /var/log/jupyter.log (inside the container)

自身のブラウザからhttp://192.168.1.19:8888に接続し、Jupyterを使用しましょう。
これでKaggleの環境構築は完了です。