ディープラーニング【システム構築の準備編・・・その1】2020年01月03日 13:00

・Neural Network Libraries(nnabla)について
NNCのサポートページ(チュートリアル)を見ると、Neural Network Console(NNC)による学習済みニューラルネットワークのNeural Network Librariesを用いた利用方法は2つの方法があることがわかりました。

一つは「コマンドラインインターフェイスを用いて推論を実行する方法」で、もう一つは「Python APIを用いて推論を実行する方法」
2つの方法ともにPythonが必要で、NNCがインストールしてあれば同梱のPython環境がそのまま利用可能なようです。

1. コマンドラインインターフェイスを用いて推論を実行する方法
”一切のコーディングを行うことなく、最も簡単に推論を実行させることができる”とある。
ただし、毎回Pythonを起動し、学習済みネットワークの構造やパラメータ、認識対象のデータセットの読み込みを行うため、実行速度が遅いという欠点があるようだ。
この方法は実験的に推論を実行させたい用途などに適していて、システムに組み込みで使用するのには向いていないみたいだ。

まずは、Neural Network Librariesが利用できるように環境を準備する。
Neural Network Librariesをインストールする必要があるので、以下のドキュメントをご参照して
インストールします。

インストールが完了したら、CLIコマンドをチュートリアルのとおりに実行すれば推論できます。
チュートリアルではPython環境でCLI.pyを実行するようになっていますが、Windowsのコマンドプロンプトでnnabla_cli.exeを実行しても同様なことが可能です。
チュートリアルに書いてあるようにこのやり方は推論対象のデータセットをCSV形式のファイルで準備しておいて結果も指定したCSVファイルに書き出されます。
確かにシステムに組み込んで使用するには向いていないですが、リアルタイムの必要がなければ十分活用できるかもしれません。

2. Python APIを用いて推論を実行する方法
チュートリアルには、”Neural Network Librariesの豊富な機能を直接利用することができ、外部のプログラムとの連携の容易さや、パフォーマンスにも優れています。”と書いてあります。
求めていたものは、これですかね!
この方法では、Pythonでコードを書く必要がありますが、システムに組み込むには最適な方法です。
しかも、NNCで作成したネットワークや学習済みデータはそのまま流用できるので、ネットワークの検討・作成~学習はNNCで行うことができます。
Neural Network Librariesを使用すればネットワークの作成~学習もコードを書いて実現できますが、せっかくNNCがあるのでこれを利用しないのはもったいない。
SONYさんもこのように運用するためにNNCで作成したネットワークをPythonコードにExportする機能が用意してあり、チュートリアルにも記載されています。

3.C++ ライブラリ
Neural Network LibrariesはC++ライブラリもあるのでC++の開発環境でもシステムを構築できます。
そもそも、Neural Network LibrariesのコアはC++で書かれているそうです。
ただ、現時点でC++ライブラリのドキュメントが整備されていないみたいです。
また、C++のライブラリは自分で構築しないといけないみたい。
なので、かなり敷居が高く感じられました。
組み込み系のバリバリなエンジニアさんなら苦にならないのでしょうが。。。

ここで、ソフト作成をPythonかC++でやるか少し迷ってしまいました。
実は、C++やVBでのソフトは作成した経験はあるのですがPythonは未経験で全く触ったことがありません。
Pythonは非常に人気が高まっていて特にデータサイエンス・機械学習の分野でスタンダードな言語のようです。
言語仕様も習得しやすく、情報も豊富です。
ライブラリ(モジュール)も豊富に存在していて、”やりたいこと”を1から作らなくていいみたい。
プロのプログラマーでない私にとっては開発言語は手段の一つ、そもそも、AI(ディープラーニング)自体が私にとって初めてなこと。
新しいことに触れると”ものの見方”や”考え方”の幅が広がるような気がします。
もし満足できないものしか作れないとわかったらプロの人にお願いすればいい。
得た知識はその時にも役に立つはず、きっと。
ということで、グラフィカルユーザインターフェース(GUI)はどうすればいいの? とかPythonはインタープリタだよね。遅くないの?って疑問は残っていますが、とりあえずPythonで進めようと思います。

使用するパソコンはWindowsなのでPythonのインストールから始めないといけない。
次はPython関係の環境構築に関して調べて整備していきます。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://tenyawanya.asablo.jp/blog/2020/01/03/9197706/tb