Hello, Jetson Nano
日頃の行いが良いせいか、それとも教授からの雑な扱いを不憫に思った神様が気を利かせてくれたのか、 日経Linuxの懸賞に当たり、NVIDIA Jetson Nanoを頂戴しました!!
さて、夏休みの自由研究として、このJetson Nanoで遊んでいきたいと思う。
Setup
基本的には、NVIDIA公式のサポートページ developer.nvidia.com
とQiitaの記事 qiita.com
を参考にしています。
Hardware
Jetson Nanoを動かす為には本体に加えいくつかの周辺機器が必要です。
今回使用した物は以下の通り。
- Micro SD 32GB ✳︎ 節約の為に32GBを選択。大きい方がいいです。
- 5V 4A ACアダプター
- ジャンパーピン
- Wi-Fiアダプタ
これに加え当然インターネットに繋がったPCが必要です。
ACアダプターとジャンパーピンは秋月で買ってきた。人多かった。
Software
SDカードにNVIDIAがカスタムしたOSを書き込んでいきます。選択肢は2つ位あるんですが、HeadlessでやりたいのでJetCardを選びました。 github.com
ファイルサイズがかなりデカイので、DLと書き込みに時間がかかります。気長に待ちましょう。
Boot
書き込んだSDカードと電源、そしてUSB-microUSBをそれぞれ接続します。 USB-microUSBの片方はMacに接続します。
Jetson Nanoに電源を入れればmicro-USB近くのLEDが光ります。
それを確認すればあとはTerminalで ssh jetson@jetson.local
を打てば接続可能です。
ちなみに、nvidia-smi
は入っていませんが、CUDAはちゃんと動きます。
では早速、MNISTを動かしていきます。
PyTorchでMNIST
JetCardを使った方法では、PyTorch 1.1.0 や TensorFlow 1.13.1+nv19.5 がデフォルトで入っています。もちろんDocker 18.06.1-ceも入っています。(2019/08/10現在)
ただ、Docker自体は runtime=nvidia
が動作しない?
ソースコード
Vim も入ってるのでゴリゴリ書いてもいいのですが、せっかくなのでPyCharm ProfessionalのSSH リモートインタープリタで書いてみます。
コードは以下の通りです。
せっかく4コアCPUなので num_workers=4
にしてます。
コア数だけ見ると、MacBook Pro 13inch 2016年よりも多い...
処理時間
433.01 secなので大体7分。まあ、Batch size = 128 にしてるのでしょうがない気もするが。
総評
Edge向け機器だけあってやっぱり(1080Tiとかに比べて)計算時間は遅かったが、 悪夢のNVIDIAドライバーガチャをしなくても簡単に利用可能なイメージを配布してくれるのは本当ありがたい。
まあ、クラウドで学習して、ONNXにして、TensorRT使って高速化が基本なのかなぁと。
色々遊んでみようと思う。
氷菓 面白かった。合掌 www.netflix.com
あと、高木さん2最高。 www.netflix.com