NVIDIAが価格99ドルをうたって発表した組み込みAIボード「Jetson Nano」。本連載では、技術ライターの大原雄介氏が、Jetson Nanoの立ち上げから、一般的な組み込みAIとしての活用までを含めていろいろと試していく。第3回は、Jetson NanoのCUDAコアを使って推論のサンプル“Hello AI World”を動作させてみる。
⇒連載「Jetson Nanoで組み込みAIを試す」バックナンバー
Ubuntuはちゃんと動き、Unixbenchもきちんと動作したので、いよいよCUDAコアを利用してのInference(推論)の動作である。まずはそもそもちゃんと動作する事を検証したいと思う。
NVIDIAは“Hello AI World”という、取りあえずCUDAコアを利用したInferenceの動作確認用デモを公開している。これはあくまでInference用であって、Training(学習)は含まれていない(学習済みのネットワークを展開して、この上でInference動作を行う)ものである。ということでこれを動作させてみたい。
さて、前回までの環境の場合、NVIDIAのJetPackが既にインストールされているはずだ。JetPackには以下のものが含まれている。
Hello AI Worldを初めとして、JetPackが無いと動作しない。一応これはインストールされているものとして説明するが、もしない場合は先述したリンクからJetPackを入手してインストールしてから、となる。
ではまず、GitHubからHello AI Worldのソースを一式取得することにする。これに先立ち、
$ sudo apt-get install git cmake
を実施してcmakeパッケージをインストールしておく(図1)。
これが終わったら、
$ git clone https://github.com/dusty-nv/jetson-inference $ cd jetson-inference $ git submodule update --init
を実施すると、カレントディレクトリの下のjetson-inferenceの下に、ソースが展開される(図2)。
次にPythonを使う場合は、Pythonのパッケージも必要になる。デフォルトだとUbuntu 18.04にはPython 2.7がインストールされているが、昨今はVersion 3に移行しつつあるので、こちらをインストールしておこう。
$ sudo apt-get install libpython3-dev python3-numpy
Python 3.6のインストーラーが走るので、これに従ってインストールを行う(図3)。これが終わったら、cmakeを使ってソースのビルドを行おう。
そして、カレントディレクトリがjetson-inferenceの下であることを確認した上で、
$ mkdir build $ cd build $ cmake ../
を実施すると、どのネットワークをインストールするかの選択画面となる(図4)。
デフォルトはGoogleNetとResNet-18だが、今回はこれに加えてResNet-50もインストールしてみた。ちなみに全部インストールするとデータ容量は2.2GBほどである。次いで、PyTorchのインストールに移るが(図5)、先ほどPython 3.6をインストールしたので、ここでは“PyTorch v1.1.0 for Python 3.6”を選択する(先にPython 3.6を入れてない場合は、“PyTorch v1.1.0 for Python 2.7”のままで良い)。インストールを開始するとここからが長い(筆者の環境だと30分近く掛かった)が、ネットワークとPyTorchがインストールされるはずだ。
インストール完了後、カレントディレクトリがまだjetson-inference/buildの下にあることを確認の上で、
$ make
を実施してビルドし(図6)、次いで
$ sudo make install
でビルドしたプログラムやライブラリ、サンプルを展開する(図7)。これがエラーなく終われば(Wariningはちょろちょろ出てくるが気にしなくて良い)、準備完了である。
Copyright © ITmedia, Inc. All Rights Reserved.