こんにちは。
現役エンジニアの”はやぶさ”@Cpp_Learningです。今回は『Jetson Nano超入門』という本を読んだので、感想文を書きます。
Contents
Jetson Nanoとは
本の感想の前に、Jetoson Nano について簡単な紹介をしておきます。
Jetson Nanoとは、128コアGPUを搭載したコンピュータボードです。
並列処理が得意なGPUはディープラーニングの演算と相性がよく、低消費電力でディープラーニングを動かせるJetson Nanoは『小型AIコンピュータボート』などと呼ばれています。
忙しい人のために
忙しい人のために『Jetson Nano超入門』を1分で紹介します。
- 全ページ(254ページ)オールカラー!
- イラストの多い丁寧な解説
- Jetosonで本格的なディープラーニングのデモを動かせるようになる
- 紹介しているサンプルコードや設定ファイルはダウンロードできる
- Linuxの前知識が無い人にもオススメ
- ONNX・YOLO・TensorRT・カーネルビルド・ROSなどのテクニカルな単語にピンと来た人にもオススメ
Jetosonを使い倒すためのヒントやアイデアが”ギュッ”と詰まった一冊です。
Jetson Nanoに興味のある人は、絶対にこの本買った方が良い!!
以降からは『Jetson Nano超入門』の各章(はじめに + Part1~8)に対しての感想文です。お時間のある方は続きも読んで頂けると嬉しいです。
Jetson Nano超入門 -はじめに-
この本の最初のページ「はじめに」で以下の言葉が綴られていました。
「Ubuntu」という名前しか知らなかったOSで動く Jetson Nano は、そのはじめの一歩すらわかりませんでした。
(中略)
Jetson Nano でデモを動かすところまでたどり着いたときは感動しました。そしてそのとき、自分の知らなかった新しい領域の扉が「ギィ」と開き始めた音が聞こえたのです。
(中略)
皆様が新しい知識の扉を開くきっかけのお手伝いになりましたら嬉しいです。
「あぁこの本はきっと素敵な本だ」と中身を読む前から確信させてくれました。
Ubuntu のこと知らなくても大丈夫です!この本を頼よりに「新しい領域の扉」を開きましょう!
Part1 -Jetson Nanoの概要-
Part1では、Jetson Nanoの概要について、初心者にも分かる丁寧な説明をしています。
「Raspberry Pi(
などの疑問は、この本一冊で、まるっと解決しますよ!
Part2 -Jetson Nanoのセットアップ-
初心者が最初に躓くのはセットアップだと思います。しかもセットアップって面白くない…
と思った人がいるかもしれません。
市販のパソコンは最初からOS(WindowsやMacなど)がインストールしてあるものが多いので、OSのインストール含めPCのセットアップを”1”からやる機会は少ないと思います。
Jetson NanoではOSのインストールから始める必要がありますが、心配無用です!Part2にJetson Nanoのセットアップに関する、とても丁寧な説明があります。
恐れず、慌てず、マイペースに「新しい領域の扉」を開いていきましょう!
Part3 -本格運用するための設定や基礎知識-
もし、あなたが普段 ”Windows” や “Mac” を使ているなら、Jetson Nano(”Linux”)の操作方法に戸惑うかもしれません。
「Terminalという黒画面にコマンドを入力…」とか言われてもパンクしそうですよね?
これについては、この本読めば問題なし!という訳ではなく、どうしても慣れが必要だと思います。ただ、あなたがLinuxの操作に慣れるための努力をするなら、この本は全力であなたのことをサポートしてくれます。
コマンドの基本からテキストエディタの使い方まで、イラスト付き(しかもオールカラー)で丁寧に説明しています(こんな本って今まであったかしら…?
この本 片手にプロセッサー(CPU/GPU)使用率の確認など、色んなコマンドを入力して遊んでみて下さい。
この機会に”Linux”の操作に慣れておけば、Raspberry Pi(
リモートデスクトップ接続についても丁寧な説明がありました。感謝!
Part4 -デモを体験してみよう-
Prat1~3までは準備やコマンド操作などの基礎的な内容でした。part4からは Jetson Nano が『小型AIコンピュータ』と呼ばれる理由を知ることになります。
Jetson Nano には並列処理が得意なプロセッサ”GPU”が搭載してあります。そして、その”GPU”を効率よく使うためのプラットフォーム「CUDA」が用意されています。
さらに、ディープラーニングを高いパフォーマンスで実行するためのライブラリとして、「TensorRT」と「cuDNN」も用意してあります。
と首を傾げているフクロウがいますが、part1で Jetpack を使ったOSのインストール方法を説明していました。
その Jetpack に Jetson Nano の機能をフルに試せるツール類は全て含まれています。つまり『OSをインストールできた時点で、既にAIで遊ぶ準備も完了していた』ということです。
あとはPart3の内容に従ってAIデモを体感してみてください。小型コンピュータがGPUを使ってパワフルに画像処理する様子に、感動すること間違いなしです!
感動は成長に必要なエネルギー!(自論)
Part5 -USBカメラを使った物体検出-
part4のデモに感動したら、次はAIプログラミングに挑戦しましょう!part5では、ディープラーニングを活用した物体検出アプリケーションの作り方を紹介しています。
という人は以下の動画をご覧ください。
この動画のように物体の位置を検出し、かつ物体の名称(クラス)を認識する技術を「物体検出」と呼びます。
「物体検出」が小型コンピュータで実現できたら楽しいですよね?
Part5では、物体検出の実践的なソースコードを紹介しています。物体検出で遊べば、感動の連続が続くと思います!
- ONNXモデル変換してTensorRTで動かしてるよ!
- 本ブログで紹介したいと思っていた内容が全て書かれてるよ!!
- 初心者じゃなくても必見だよ!!!
Part6 -自分の体を楽器にするソフトを使ってみよう-
part5の「物体検出」を応用すれば、もっと面白いことができると思いませんか?
- 人を検出して自動でライトを点灯させる
- 部屋のどこにペットがいるか監視して、飼い主に知らせる
他にもアイデア次第で色んなことができます。ただし、上記の❶・❷は「物体検出 + α」で実現しています。
以前、私が作った動物監視カメラの場合は「物体検出 + 無線通信」で実現しました(作り方などの詳細については、以下の記事を参照してください)
part6では「ディープラーニングを活用した人間の骨格検出 + 楽器」で「体を楽器にするソフト」を紹介しています。
AIを使うだけでなく、別の技術と組み合わせるアイデアに関心すると思います。もちろんアイデアだけではダメで、アイデアを形にする知識と情熱が必要です。
part6を参考に「体を楽器にするソフト」を作っても良いし、別の何かを作っても良いです!自由に楽しく創作活動をしてほしいと思います。
Part7 -ROSを使ってロボットの眼を作ってみよう-
Jetson Nanoで何を作るかは人それぞれですが…何を作るか悩んでいる人は、ロボットの眼を作ってみませんか?
という声が聞こえてきそうですが、この本がしっかりガイドしてくれますよ。
もちろん「ラーメンを作るために、まずは畑を耕して小麦を作ります!」みたいな無茶なガイドはしないので安心してください。
など、あなたが最短ルートでロボットの眼を作れるように、しっかりガイドしてくれます。
初心者が躓きそうな各種のセットアップに関する説明もあるので、Jetson Nanoでロボットの眼を作りたい人は、この本 片手にチャレンジしてみてはいかがでしょう?
Part8 -電子工作をしてみよう-
Part5で「物体検出アプリ」、Prat6で「楽器」、Part7で「ロボットの眼」を作りました。
次は何を作りましょう?
その答えは、あなただけが知っています。
物体を検出して、LEDライトを点灯させるも良し!ロボットの眼とモータを組み合わせてロボットカーを作るも良しです!!
Part8では、Jetso Nanoで電子工作をするためのヒントが沢山詰まっています。Jetson Nanoにはラズベリーパイ同様のGPIOピン(40pin)があります。
誤解を恐れずに言えば、Jetson Nanoを活用することでラズベリーパイの電子工作にGPUのパワーをプラスした作品を作れます。
自分のアイデアを形にしませんか?
あなたのアイデアを形にするためヒントが『Jetson Nano超入門』にはいっぱい詰まってますよ。
おわりに
素敵な本に巡り合えると嬉しいですね。
Jetoson Nanoに興味のある人には、本当にオススメの本です。