こんにちは、デジビの堀内です。
いきなりですが、在庫の管理って大変じゃないですか?
物流業界の方はもちろんですが、弊社でも在庫の管理を行っています。
それは社内備品の管理です。
こういった社内備品の管理はシンプルな業務ではありますが、常に一定の備品の量を維持するのは手間です。
そこで今回は、「在庫が減ってきた場合に、画像解析をして自動で補充する仕組み」を作ってみたいと思います。
このシリーズも例によってボリュームがあるため複数回に分けて紹介しますが、今回はセットアップを行っていきます。
今回のシリーズ構成は以下のとおりです。
① ディープラーニング用の環境を作ってみた編
② 深層学習のサンプルを動かしてみた編
③ 学習用の画像データを集めた編
④ 実データで深層学習をやってみた編
⑤ 発注処理の自動化してみた編
⑥ 自動発注を実運用をしてみた編
Jetson nanoとは
Jetson nanoはアメリカの半導体メーカーであるNVIDIA社が製造・販売をするシングルボードコンピューターです。
NVIDIA社はゲーミング向けのグラフィックボード(GPU)を製造することで有名で、PCゲーマーの方なら一度は聞いたことのあるメーカーだと思います。
Jetson nanoはNVIDIA社の強みであるGPUを搭載することでCUDAというアーキテクチャを用いて高速な並列処理を実現していることが特徴です。
CUDAは、並列コンピューティングプラットフォームおよびプログラミングモデルであり、GPUを使用して汎用コンピューティングをシンプルかつエレガントにします。
出典元:What Is CUDA?
人工知能ブームの火付け役とも言えるディープラーニングは、膨大な量のデータを処理して、自動で特徴量を抽出する技術です。
これは単純な計算ではありますが膨大な量のデータを扱うため処理するにはもちろん処理能力と時間がかかります。
さらに、一般的なPCでは複雑な計算が得意なCPUが計算を行っていますが、CPUでは利用できるコア数が限られてしまいます。
※記事公開時点でのCPUの最大コア数:56コア(第2世代Xeonスケーラブル・プロセッサ)
そこで、GPUが活躍します。
GPUはCPUほど複雑な計算が得意ではありませんが、何千というコア数で計算ができるため、一斉にデータの単純な計算を行う機械学習ではGPUはCPUを凌ぎます。
※記事公開時点でのGPUの最大CUDAコア数:4608コア(NVIDIA TITAN RTX)
そのGPUを載せたシングルボードコンピューターがJetson nanoです。
もちろんこの小さなシングルボードコンピューターに何千コアもありませんが、128個のCUDAコアがあるため十分なパフォーマンスをしてくれると思います。
Jetson nanoのセットアップ
Jetson nanoのセットアップはNVIDIA社の公式サイトを参考に進めていきます。
Getting Started with AI on Jetson Nano
※ページの閲覧にはアカウント登録が必要です。
Jetson nanoに必要なものは以下のものです。
Jetson nanoのキット以外にも必要なものが数点あります。
Jetson Nanoのイメージセットアップ
まずは用意したマイクロSDカードにJetson Nano用のイメージを書き込んでいきます。
NVIDIA者の公式サイトではWindows用、Mac用、そしてLinux用のイメージ書き込み手順が紹介されていますが、ここではWindows用のものに沿ってセットアップを進めていきます。
マイクロSDカードのフォーマット
Jetson Nano用のイメージを書き込む前に、マイクロSDカードをフォーマットします。
マイクロSDカードフォーマットを行うためのソフトウエアをインストールして実行します。
ダウンロードはこちらからできます。
SD Memory Card Formatter
- 「カードの選択」にマイクロSDカードを指定
- 「フォーマットオプション」に「クイックフォーマット」を選択
- 「ボリュームラベル」は空欄のまま
- 最後に「フォーマット」を選択してフォーマットを始めます。その後のダイアログでは「Yes」を選択
以上でマイクロSDカードのフォーマットが完了です。
マイクロSDカードにイメージの書き込む
Etcherというイメージ書き込みソフトを利用して、準備ができたマイクロSDカードに書き込みを行います。
Etcherのダウンロードはこちらから
balena etcher
- 「Select image」からダウンロードしておいたイメージのzipファイルを選択
-
「Select drive」をクリックして、対象のマイクロSDカードを選択します。
-
書き込みが終わったらマイクロSDカードを抜きます。
以上でJetson nano用のマイクロSDの準備は終わりました。
次はさっそくJetson nanoを動かしてみます!
Jetson nanoのブート
今回はなるだけかんたんにJetson nanoを起動するために「ヘッドレス」状態で起動します。
ヘッドレスとは、対象のデバイスから映像出力をせずに起動することです。
この状態にすると、映像出力をしないことからメモリを節約でき、つないだPCからキーボードやマウスといった入力を受け付けることができるため、Jetson nanoを試すにはうってつけの機能です。
さらに、「USBデバイスモード」をONにすることで、つないだPCからネットワーク接続の必要がなくなります。
このモードですと、「192.168.55.1:8888」の固定IPアドレスからアクセスすることができるようになります。
あくまで今回は起動ができることを確認するまでなので、簡易的にJetson nanoを起動する手法を取りました。
起動セットアップ
Jetson nanoにイメージを書き込んだmicroSDを差し込み...
2ピンジャンパーをJ48と書かれている2ピンコネクタ部分に指します。
次にJetson nanoにACをつなぎ、緑色のLEDが点滅したら、30秒ほど待ちます。
そうしたら最後にマイクロUSBをJetson Nanoにつなぎ、USB側をPCに繋ぎます。
Jetson nanoにアクセスをする
PCからブラウザを開いて、「192.168.55.1:8888」にアクセスすると、ログインを求められますが、そこは「dlinano」と入力するとログインできます。
以上でJetson nanoの準備は終わりです。
こんなに簡単に準備が終わるとは正直思っても見ませんでしたが、特に躓くところもなく簡単にセットアップができました。
次回はJetson nanoにカメラをセットアップし、サンプルを動かしてみます。
[…] ディープラーニング用の環境を作ってみた編【深層学習】 […]