前回の記事ではJetson nanoのセットアップをしてから、Ubuntの画面を表示させるまでご紹介しました。
第1回ゼロから始めるJetson : nanoセットアップからUbuntのGUIウィンドウまで
今回は、Jetson nanoを調べると記事やYouTubeで見られるサンプルのデモ画面を実行する方法についてご紹介します。
というのも、私自身、Jetson nanoをノリで買ってしまったものの、最初はサンプルの実行の仕方がわからずに迷った為、私と同じように、うっかりJetson nanoを購入してしまった人向けに、とりあえずデモを動かす方法をご紹介します。
JetPackのサンプルはこちら

「Jetson nano Developer kit」のユーザーガイドにJetPackに入っているサンプルプログラムの場所が書かれています。
TensorRT、cuDNN、CUDA、Multimedia API、VisionWorks、OpenCVの6種類が書かれています。
最初にこの中からCUDAのサンプルを動かしてみましょう。
CUDAのサンプルがある場所

まずは、Ubuntの画面の左に並んでるアイコンの中から、ファイルマネージャーをクリック。開いたら「Other Locations」をクリックします。

つぎに、「Computer」と書かれたハードディスクマークをクリックして、
/usr/local/cuda-10.0/samples/s_simulationsをクリックします。

これが、samplesに入っているシミュレーションの一覧なので、この中から「oceanFFT」をクリックします。

oceanFFTの中のファイルが表示されました。このファイルマネージャーの中でマウスの右クリックを押します。

メニューに「Openin Terminal」でターミナルを開きます。

このターミナルの画面で、コンパイルをするためのコマンドを入力します。

$sudo make
と入力すると、パスワードが求められますので入力してください。
すると、コンパイルが始まります。

コンパイルが終了したら、
$ls
と打つと、コンパイルで出来た実行ファイル “oceanFFT(緑色のファイル)”があります。
これを、実行します。

$./oceanFFT
これで実行です。 ./oceanのように途中まで入力してTABキーを押せば表示されます。リターンで実行。

これで、oceanFFTというJetPackのCUDAサンプルで用意されていたデモを実行することができました。
デモ実行の流れ
デモ実行の流れは、
1. サンプルファイルがあるフォルダまで移動
2. “$sudo make”とターミナルでコンパイルを実行
3. 上の2で生成されたファイルを”$./ファイル名”のようにターミナルで実行
という感じです。
冒頭で紹介している動画では、他のCUDAサンプルやVisionWorksのサンプルを実行する方法も紹介しているので、よかったら見てみてください。
まとめ
今までクラウドで実行していた推論と呼ばれるAIを使った画像解析などの技術は、Jetson nanoのような低価格なGPUが普及することにより、ネット接続が無いところでももっと気軽に行われるようになります。(こういったデバイスをエッジデバイスといいます)
わずか1万円ちょっとで購入できるJetson nanoでも、自動運転等に必要となる、動画を解析して道路や車、障害物などを認識することが可能です。
JetsonはnVIDIA社のGPUモジュールですが、GoogleやHuaweiなども追従してきており、エッジ(現場)側で解析や推測が行われるアプリケーションが、今後は増えていくでしょう。
そういった技術を学ぶのに、この「Jetson nano」はとてもおすすめです。
ちなみに、私は設備制御を専門としていますが、どんなときに設備が制御されるかを判断するのが、JetsonのようなGPUモジュールになると考えて情報を集めています。
ぜひ、一緒に勉強して情報交換して、自分の専門性に付加することで楽しいことをやりましょう!