[eIQ 初心者ガイド 0] へ | 準備中... |
もくじ
- はじめに
- 1. eIQ Portal の起動 ~ プロジェクトの作成・オープン
- 2. ユーザー・データの入力(インポート)
- 3. モデルを選択および最適化
- 4. モデルをトレーニング [train]
- 5. モデルの妥当性を確認 [validate]
- 6. ターゲットへモデルを展開 [deploy]
- まとめ
はじめに
この記事では、NXP 社から提供される「eIQ™ 機械学習 (ML) ソフトウェア開発環境」の一部である「eIQ Toolkit」の使い方について紹介します。
eIQ Toolkit を使用したワークフローには以下の2通りがありますが、今回は BYOD を対象とします。
- BYOD (Bring Your Own Data) : 画像ファイルもしくはデータセットを入力とした手順
- BYOM (Bring Your Own Model): 別環境で構築済みの ML モデルを入力とした手順
以下、図中のオレンジ色でマークした範囲内が BYOD のワークフローになります。この記事の内容についてもワークフローと同じ順番で紹介していきます。
【図 1】eIQ Toolkit のワークフローおよび本記事での紹介範囲
ポイント: 「eIQ™ 機械学習 (ML) ソフトウェア開発環境」および「eIQ Toolkit」の概要を理解いただくために、先に以下の記事を参照されることをお勧めします。
メモ: この記事の内容は eIQ Toolkit バージョン 1.8.0(Windows 版)で確認した情報を元に記載しています。
参考資料: より詳細な情報は eIQ Toolkit User Guide 1.8.0 | NXP Semiconductors を確認してください。
1. eIQ Portal の起動 ~ プロジェクトの作成・オープン
BYOD のワークフローに入る前に、eIQ Toolkit に含まれる「eIQ Portal」というアプリケーションを起動してプロジェクトを新規作成します。
メモ: eIQ Toolkit のインストールから始める方は、eIQ® Toolkit | NXP Semiconductors のページからインストーラーをダウンロードしてインストールしてください。
eIQ Portal を起動すると【図2】の左側のようなトップ画面が表示されます。
【図 2】eIQ Portal の Top 画面およびプロジェクトの作成・オープン
最初は CREATE PROJECT メニューを選択して新規プロジェクトを作成することになります。プロジェクト作成について以下の2通りの選択肢が用意されています。
- Import dataset : 既存のデータセットをインポートした上でプロジェクトを作成
- Create blank project : 空のプロジェクトを作成
ポイント: ML 向けのデータセットの多くは、あらかじめ画像識別(Image Classification)や物体検出(Object Detection)向けにデータラベルが付与された状態で公開されています。
ポイント: データセットを使用する場合には、試したい内容(画像識別もしくは物体検出)に適したデータセットをあらかじめダウンロードしておく必要があります。
Import dataset を選択した場合には、以下のような画面でデータセットの種類やオプションの選択を行います。対応するデータセットの種類は、「VOC Dataset」「Structured folders dataset」「Tensorflow dataset」の 3種類です。各データセットの詳細は eIQ Toolkit User Guide 1.8.0 | NXP Semiconductors を参照してください。
【図 3】Import dataset を選択した場合のフロー
いずれの選択肢で進めた場合もプロジェクトの作成が完了すると、【図 4】のデータセット・キュレーターという画面に移行します。
【図 4】eIQ Portal の Top 画面およびプロジェクトの作成・オープン
ポイント: これ以降の手順はプロジェクトの生成方法による違いはありません。データセットをインポートした場合でも、空のプロジェクトから開始した場合でも、共通の手順になります。
2. ユーザー・データの入力(インポート)
作成したプロジェクトにユーザーデータを追加します。ユーザーデータの追加作業には、新しい画像イメージの追加とラベル付けの2つの手順が必要です。
画像イメージ追加の手順は非常に簡単です。IMPORT メニューを選択して、ファイル・エクスプローラーから追加したいイメージファイルを選択するのみです。
【図 5】画像イメージの追加
続けて、追加した画像にラベルを登録します。ラベルを編集したいイメージをクリックすると【図 6】のような画面へ遷移するので、ラベル付けとイメージファイルの用途の選択を行ってください。
【図 6】データラベルの登録・編集
ヒント: ML モデルの構築には大量のデータが必要となりますが、サンプルイメージの不足を補ったり、より精度の高いモデルを構築するための機能として「データ拡張(Data Augmentation)」と呼ばれる仕組みがあります。1つの学習用データから画像を加工(反転、ノイズ付与など)して、別のデータを生成することで学習用データを増やすことができます。
ポイント: 大量のデータを準備するにあたり、データラベルの登録が特に手間の掛かる作業となります。eIQ Toolkit 以外に慣れたツール環境がある場合には、別途 ML モデルを準備(もしくは BYOD ワークフローを併用)して対応することも可能なので併せて検討ください。
イメージの追加およびラベル付けが完了したら、SELECT MODEL メニューから次の手順へ進みます。
【図 7】ユーザー・データの入力完了
3. モデルを選択および最適化
モデルの選択については、【図 8】に示す3ステップのオプション選択を進めるだけで完了します。
【図 8】モデル・オプションの選択
3ステップのオプション選択が完了すると【図 9】のような画面に遷移します。この画面にて、選択されたモデルの情報の確認および変更も可能です。この後に実行するトレーニングのパラメーター設定もこの画面で行います。
【図 9】モデル・オプション選択完了後の画面
4. モデルをトレーニング [train]
トレーニングを開始する前に画面左のメニューから、「TRAINER SETTINGS」「AUGMENTATION SETTINGS」「EVALUATION SETTINGS」にある各種パラメーターを確認。必要に応じて変更します。
【図 10】TRAINER SETTINGS メニューと主要なパラメーター
トレーニング用のパラメーターを指定した後は、【図 11】の手順で学習を実行します。学習停止後には、RESTART(やり直し) や CONTINUE(再開)が選べる他に、パラメーターの変更も可能です。進捗グラフを確認しながら所望の精度が得られるまで学習を進めてください。
【図 11】学習(Training)の操作イメージ
ポイント: 学習を進めても精度が上がらない場合は、データセットに含まれるイメージの数やラベルの付け方に問題がある場合もありえます。モデルやトレーニングの各種パラメーターを見直しても上手く行かない場合は、データセットの見直しも検討してみてください。
5. モデルの妥当性を確認 [validate]
トレーニングが完了したら、次は【図 12】の手順でモデルの妥当性確認(Validate)を実行します。
【図 12】妥当性確認(Validate)の操作イメージ
妥当性確認(Validate)が完了すると【図 13】のようなレポートが確認できます。
【図 13】妥当性確認(Validate)レポート
ポイント: 妥当性確認(Validate)の結果が思わしくない場合は、VALIDATION SETTINGS のパラメーターも見直してみてください。改善できない場合は前工程(学習、データセットの準備)の見直しも必要かもしれません。
6. ターゲットへモデルを展開 [deploy]
作成したモデルをターゲットへ展開(Deploy)もしくは、ファイル保存(Export)することで BYOD に定義される一連の作業フローが完了になります。
【図 14】モデル展開(Deploy)の操作イメージ
ポイント: "Export File Type" で選択したモデルの種類は「DEPLOY MODEL」実行時の動作にも影響します。「DEPLOY MODEL」を実行する場合はターゲットが対応可能なモデルを選択しないとエラーが発生します。
まとめ
今回は、eIQ Portal のワークフローのなかから「BYOD (Bring Your Own Data) : 画像ファイルもしくはデータセットを入力とした手順」について一連の操作方法を紹介しました。この記事の内容で、ツールの使い方のイメージを掴んでいただけたら幸いです。あとは、ぜひ実際に試してみてください。
先に紹介した eIQ Toolkit User Guide 1.8.0 | NXP Semiconductors の他に、AI および機械学習に関連した NXP 公式のトレーニング・コンテンツもあわせて参照ください。
参考資料: AI and Machine Learning Training Academy | NXP Semiconductors
[eIQ 初心者ガイド 0] へ | 準備中... |