サイトアイコン PC-FREEDOM

AI 開発の新たな選択肢!OKdo Nano C100: NVIDIA Jetson Nano との互換性は?

AI 開発の新たな選択肢!OKdo Nano C100: NVIDIA Jetson Nano との互換性は?

AI 開発の新たな選択肢!OKdo Nano C100: NVIDIA Jetson Nano との互換性は?

今回は SBC の紹介です。

2019年3月中旬に「エッジ・コンピューティング・デバイス」として NVIDIA® の Jetson が登場しました。

ちなみに、エッジ・コンピューティングとは、データをその生成源に近い場所で処理することで、データ送信の遅延を減らし、システムの反応速度を高速化する技術のことを言います。

早い話が、組み込み式システムのひとつです。

https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/

このエッジ・コンピューティングに向けたデバイスとして登場した Jetson の大きな特徴は NVIDIA の GPU による強力な浮動小数点の計算にあります。

浮動小数点とは、小数点の位置を固定せずに表現された数です。

非常に大きな数から小さな数まで表すことができます。

機械学習やディープラーニングなど人工知能による処理では画像認識など GPU の浮動小数点計算をかなり必要とします。

NVIDIA といえば GPU、GPU といえば NVIDIA ですからね。

これによって大人気の SBC である Raspberry Pi よりも Jetson の方が、機械学習やディープラーニングに向いていると言われています。

また、Jetson は…、というか NVIDIA は AI や機械学習を利用したプロジェクトに積極的で、Jetson はその特化したモデルと言えます。

NVIDIA はこれらの分野で豊富な教材とサポートを提供しています。

https://developer.nvidia.com/embedded/community/jetson-projects

NVIDIA の強力なソフトウェアライブラリである CUDA や TensorRT などを利用することで、機械学習のモデルを高速に実行することができます。

今回紹介するのは、この Jetson のエントリーモデル Nano の、いわゆるコピー製品「OKdo Nano C100 開発キット(Developer Kit)」です。

OKdo Nano C100 開発キット

OKdo Nano C100 開発キット(Developer Kit)」は、「NVIDIA® Jetson Nano 開発者キット B01」と、とても良く似た製品です。

というか、完全な互換性がある製品です。

まず、元になる NVIDIA Jetson Nano について紹介しておきましょう。

Jetson Nano とは?

https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/

Jetson Nano は、NVIDIA が作ったエッジ・コンピューティング・デバイス Jetson の一つで、低価格の入門向けのプラットフォームです。

Jetson Nano を使うと、省電力の AI システムに、さまざまな機能をつけることができます。

例えば、ビデオを録画する機器や家庭用のロボット、そして分析機能を持つスマートなネットワーク装置など、様々な IoT(ネットにつながる機器)の新しい可能性が広がります。

さらに、Jetson Nano は、すぐに試せるプロジェクトや、情熱的な開発者コミュニティのサポートを使って、実際の生活の中で AI やロボットについて学ぶのに最適なツールでもあります。

https://www.nvidia.com/ja-jp/autonomous-machines/embedded-systems/jetson-nano/

つまり、誰でも簡単に AI やロボットを学んで、自分で作ることができるようになるということです。

で、これらを OKdo Nano C100 でもまるごと使うことができます

Nano C100 と Jetoson Nano は、いずれも NVIDIA の SoC(これは、たくさんの部品を一つのチップにまとめたもの)がついているシステムオンモジュール(SOM)という基板、そしてさらに多くの接続を可能にするキャリアボードというもう一つの基板、この二つでできています。

しかも Nano C100 と Jetson Nano は、大きさや基本的な形状が同じです

ハードウェアからソフトウェアまで、同じものとして使うことができます。

ほぼほぼ同じ製品ではありますが、ただひとつ違うところがあります。

その違いは Nano C100 には 16GB の eMMC が搭載されていることです。

ちなみに、この eMMC からも microSD からも起動させることができます。

そのため、専用の OS イメージデータが OKdo のサイトからダウンロードできるようになっています。

それ以外については、Jetson Nano のために用意された NVIDIA の AI 開発に必要なソフトウェアライブラリやツールを、そのまま使えます。

ソフトウェアライブラリについて

例えば、CUDA というツールは GPU を使った高速な計算を行うためのもので、cuDNN は深層学習の計算を助けるツールです。

これらが使えます。

OKdo Nano C100 の外観

手元に Jetson Nano が無いので、一緒に並べて比較はできませんが、箱の作りからして互換性があります。

形もほぼほぼ一緒。※検索してみてください。

製造は Radxa のようです。

ちなみに Radxa は、シングルボードコンピューター(SBC)のメーカーです。

映像出力は HDMI が2つかと思ったら、2つのうち1つはビジネスモデルの PC とかに良く使われている DisplayPort です。

使い所に困った DisplayPort のケーブルをたくさん持ってるコダシマは、地味に嬉しかったりする。

GPIO やカメラインターフェース、冷却ファン用のコネクタもありますね。

モジュールとキャリアボードで構成されているってことで、一度は分解してみましょう。

といっても、ビス2つを外してキャリアボードからモジュールを取り外すだけ。

モジュールを外すと無線 LAN 用の M.2 (Key E) ポートが見えます。

んで、ウル覚えなのですが、確か Jetson Nano の場合、microSD のスロットはモジュールにあった気がします。

んで、モジュールの方を見てみると eMMC が見えます。(確か QR コードのところが microSD スロットだったような…)

いずれにせよ、眺めてばかりいても始まりませんので使ってみましょう。

OKdo Nano C100 を使う

機械学習やディープラーニングについて、なんのアイディアも無かったのですが、とにかく OS を使ってみることにしました。

専用の OS は OKdo のサイト、もしくは日本の正規代理店である IoT 本舗さまのサイト「Nano C100の初期設定 (iothonpo.com)」からダウンロードできます。

https://iothonpo.com/nano-c100-setup/

イメージファイルの書き込みには balenaEtcher がおすすめされていますが、コダシマはお気に入りの Raspberry Pi Imager を使います。

ソフトウェアが違っても裏でやっていることは同じなので問題ありません。

https://www.raspberrypi.com/software/

ちなみに Rufus でも書き込んでみましたが、それでも動きました。

OS が用意できたので早速起動させてみましょう。

電源は AC アダプター、もしくは USB (Type-B) からですが、ジャンパスイッチの有無でどちらかに決めます。

電源ポートの裏にジャンパスイッチがあります。

初期状態 (ジャンパスイッチ有) の状態だと AC アダプターからです。

AC アダプターは、最近ちょっと怖い思いをしたので、USB で電源を取ります。

電源をつなぐと NVIDIA のロゴが表示されます。

初回起動時のブートシークエンスは、こんな感じで大きく C100 の文字が見えます。

初回起動はしばらくかかり、突然電源が切れたりして驚きました。

どうやら、自動的に初期設定が行われているようです。

気長に待っていると OS のインストール画面に切り替わります。

OS は Ubuntu ベースですが、この壁紙は Bionic Beaver、つまり 18.04 LTS です。

Ubuntu 18.04 LTS の通常サポートは2023年4月までで、EMS (= Extended Security Maintenance: 拡張セキュリティメンテナンス) は2028年4月までの Ubuntu です。

少々古いですね。

そろそろ更新しても良さげかと思います。

それより何より、インターフェースは Unity です。

SBC の Ubuntu では Unity ばかり見かける気がします。

GNOME よりは軽快に動作してくれると思うのですが何ででしょうね?

SBC の Ubuntu で多いのは、日本語入力環境とか、デスクトップ OS として使う場合には面倒がたくさん残っている環境です。

この Nano C100 にも、せっかく LibreOffice とかも入っていますが、これをちゃんと使うのであれば日本語化しなければいけません。

ただまぁ、そもそも SBC って、デスクトップ OS で使うってことのほうが稀で、本来は電子工作だったり IoT とか組み込みシステムの開発に使うもの。

開発環境として使う分には日本語化とか、もしかしたらそこまで問題ないかもしれません。

いや…、そうでもないかな?※良くわかってない。

Web サイトで情報を検索するときに、日本語が入力できないとやっぱり不便でしたね。

んで、デスクトップに張り付けてあるアイコン。

ほとんどは Web サイトのブックマークなのですが、開発プロジェクトのサンプルもありました。

CUDA でこんなことができるよ!ってな感じのデモです。

変顔フィルターかな?

んで、こちらは画像から指定した要素を抽出するデモのようです。

こんなことができるようになるということですね。

ほかの OS は?

https://www.armbian.com/jetson-nano/

オフィシャルの OS が少し古いので、もう少し新しい OS がないか調べてみましたが、やっぱりありますね Armbian 。

ちょっとこちらも試してみたいと思ったのですが、ココでつまづきました。

初回起動の際に何も考えずに起動させたのですが、どうやらデフォルトのままだと自動的に eMMC からのブートになるようです。

microSD から起動させるようにするためには設定変更が必要なのです。

GitHub の内容をよくよく読めば書いているのですが、イマイチ理解できず時間ばかり費やしてしまいました…。

結果としてわかったのは、どうやら予めブートデバイスの指定とか起動ファイルの設定変更が必要のようです。

これだったら、映像認証の推論のひとつもできたでしょうに…。

先に進めず、しばらく時間ばかり使っていました。

映像認証などは Jetson Nano を使ってされている方もいらっしゃったので、詳しくはそちらも見てみると良いでしょう。

IoT 本舗

https://shop.iothonpo.com/

で、今回紹介した OKdo Nano C100 は IoT本舗さまからのご提供でしたので、 IoT本舗さまについても少し紹介させてください。

IoT本舗さまはイギリス OKdo(オーケードゥ)の国内正規代理店として、先進的なシングルボードコンピューター(SBC)の販売・サポートを行っています。

ちなみに OKdo は現在、 RS コンポーネンツグループの子会社で、2022年まではラズベリーパイの製造パートナーでしたので、OKdo のロゴマークに見覚えのある方も多いかと思います。

IoT本舗さま購入された場合、製品の発送は日本国内からで、1点でも送料無料。

決済方法は、クレジットカード、PayPay、Line Pay、Amazon Pay が使えます

そんな IoT 本舗さまがこれから最も注力していく SBC が ROCK シリーズです。

https://shop.iothonpo.com/product-category/brand/rock/

ROCK シリーズでは、ラズパイ4B 相当の ROCK4C+/4SE に加えて、次世代の高性能モデル ROCK 5B も新登場しました。

IoT 本舗さまでは ROCK シリーズの周辺機器やアクセサリーも、幅広く取り揃えています。

また、オンラインストアに掲載が無い製品も取り寄せ可能とのことです。

さらに言えば、アマゾンでもストアがあるので、何かのお買い物のついでに、気になる製品を購入することもできますので、SBC に興味がある方はぜひ一度チェックしてみましょう!

モバイルバージョンを終了