趣味工房 HIRO-G




   < Jetson Nano 「Hell AI World プロジェクト」体験 >


 前回まで一通りのデモを実行してきちんと動作しましたので、いよいよデープラーニングに足を踏み入れることになりますが、先ずは、やはり定番のGitHub「Hello AI Word プロジェクト」から体験することとしました。
 このプロジェクトは、あくまでCUDAコアを利用しての推論(inference)の動作確認用で、学習(Training)は含まれていないようです。 
 何しろ、ディープラーニングなるものは、初めて試食するため作法が全く分かっておりませんので、次のサイトを参考にさせていただきました。
 Jetson nanoで組み込みAIを試す(3)

 
< 準備作業 >
 先ずは、GitHubサイトから「Hell AI Worldプロジェクト」のソース一式を取得し、ビルドに必要なcmakeパッケージをインストールします。(写真1)
 $ sudo apt-get install git cmake

 続いて、jetson-inferenceディレクトリを作成してGitHubを複製し、jetson-inferenceディレクトリへ移動、ソースを展開する。(写真2)
 $ git clone https://github.com/dusty-nv/jetson-  
   inference
 $ cd jetson-inference
 $ git submodule update --init

 次に、Python3の開発用パッケージをインストール.。(写真3)
 $ sudo apt-get install libpython3-dev python3-numpy

 再度、jetson-inferenceディレクトリへ移動し、ビルド用のbuildディレクトリを作成後、cmake。
 $ cd jetson-inference
 $ mkdr build
 $ cd build
 $ cmake ../

 cmakeが終了すると、写真4のようにネットワークを選択してインストール画面が表示され、デフォルトではGoogleNetResNet-18が選択(「*」印)されている。 参考資料に準じてResNet-50もインストールしました。
 次にPyTorch(パイトーチ)のインストール画面(写真5)が表示されるので、forPython3.6を選択し、ビルド後にプロジェクトのプログラムやライブラリ、サンプルが展開(写真6)されます。
 $ make
 $ sudo make install

 準備は以上で完了し、実行ファイルはjetson-inference/buildnの下のaarch64/binに置かれているので、そこにカレントディレクトリを移して、ビルドで作成されたファイルを確認したのが写真7です。
 ~jetson-inference/buildn/aarch64/bin$ ls
 aarch64/binディレクトリに展開されたフォルダには実行プログラムの他に、静止画を保存する「images」とネットワークデータを保存する「network」フォルダがあります。


< 推論の実行例 >
 推論の実行手順は次の通りです。
 aarch64/bin にカレントディレクトリを移します。
 次に「images」フォルダ(写真8)の静止画から推論したい画像選択します。 
 ここでは「orange_0.jpg」を選択した例を記載しますが、ネットワークとして、GoogleNetResNet-18、ResNet-50の3つをインストールしましたので、それぞれの推論の結果を、「orange_output_0.jpg」、orange_output_1.jpg」、orange_output_2.jpg」ファイルとして返します。 
実行のコマンドラインは、それぞれ次の通りです。
@ GoogleNet(写真9)
$ ./imagenet-console --network=googlenet ./images/orange_0.jpg orange_output_0.jpg

A ResNet-18
$ ./imagenet-console --network=resnet-18 ./images/orange_0.jpg orange_output_1.jpg

B ResNet-50
$ ./imagenet-console --network=resnet-50 ./images/orange_0.jpg orange_output_2.jpg

 3つのoutputファイルは写真10の通り作成されました。
 それぞれのネットワークの推論の結果は写真11、12、13のようになりました。
@ GoogleNet: 96.68%の確率でorange
A ResNet-18: 72.17%の確率でorange
B ResNet-50: 96.24%の確率でorange

 今後は、「物体認識」を一歩進めて物体の位置も含めて推論する「物体検出」へ進むのですが、当方としましては、その後はやはりロボットを作りたいと思っています。
 NVIDIA社が開発したオープンソースのJetBotの詳細も公開されていることが分かりましたので、パーツを揃えるところからはじめようかと思っています。


to AI No1-4   to AI No1-6

to 新テク・アラカルト




                   
       

        写真9 GoogleNetのコマンドライン画面



            写真10 outputファイルの画面



         写真11 orange_output_0.jpgの詳細画面



      写真12 orange_output_1.jpgの詳細画面の一部



      写真13 orange_output_2.jpgの詳細画面の一部


< TREX450 SPORT >




 SDXに続き墜落。


 以下同文。








AI No1-5



Jetson Nano 「Hell AI World プロジェクト」体験
2021年2月26日


写真1 「Hello AI Worid」の取得



写真2 GitHubの複製とソースの展開



写真3 samplesの実行ファイル(nvx)の確認



写真4 ネットワークを選択画面



写真5 PyTorchの選択画面



写真6 展開実行中の画面



写真7 作成された複数のファイル(緑色)



写真8 「images」フォルダの静止画像

??