AI:ソフトウェア・オプション

  • 機械学習モデルをアプリに統合する方法を学ぶ
  • アプリ統合のコードを書き始める

このレッスンのアクティビティ:

モデルの統合

そろそろ、あなたのチームは 

  • 訓練されたそのAIモデルは健康なデータセットを使って訓練された。
  • テスト済み新しい多様なデータでモデルをテストした

しかし、そのままにしておくことはできない! 

モデルに行動を起こさせたい アクションを実行させたい。

次のことが必要です。 モデルをアプリに実装する必要があるに実装する必要があります。

コンピュータ・チップの上に浮かぶ脳

プラットフォームの選択

どのプラットフォームを使ってアプリをコーディングするかは、あなた次第だ:

  1. モバイルアプリのコーディングプラットフォームの好み
  2. モデルの学習に使用したプラットフォーム

以下は、ユニット5で取り上げた機械学習プラットフォームである。それぞれをクリックすると、モデルをアプリに統合するためのオプションが表示されます。 

Teachable Machineは非常に汎用性の高いプラットフォームです。モデルをクラウドに保存することも、ファイルとして保存することもできるので、コーディング・プラットフォームとの統合には多くの選択肢があります。

このビデオでは、モデルをエクスポートする方法を説明します。

  • App Inventorには、Fabiano Oliveira氏によるTeachable Machine Image Classificationエクステンションがあり、ダウンロードしてExtensionドロワーにインポートすることができます。
  • Teachable Machineは、機械学習ライブラリであるTensorflowと統合するためのコード・スニペットを提供する。3つのコード・スニペット・オプションが用意されている:
    • Tensorflow.js - Javascript言語により、ウェブページやウェブアプリを作成できます。
    • Tensorflow -ウェブアプリケーションを作成するためのPython言語。
    • Tensorflow Lite -モバイルアプリを作成するためのJava言語。 

3つのコード・スニペットはすべて、コピーするモデル・ファイルとコードを提供します。言語によっては、ライブラリやコードエディタをインストールする必要があるかもしれません。説明書へのリンクはコード・スニペットと一緒に提供されています。 

以上が、Tensorflow.jsオプションを使用する手順だ:

    1. コードをコピーし、コンピュータ上の新しい空白のテキストファイルに貼り付けます。
      ティーチャブル・マシン・コード・スニペット
    2. index.html(または拡張子が.htmlの他の何か)として保存してください。 
    3. ウェブブラウザでファイルを開きます。ウェブカメラで撮影した画像をモデルに基づいて分類できる基本的なインターフェースが提供されます。
    4. ウェブカメラの代わりに画像をアップロードして分類したい場合は、このコードが使えます。 (提供:Chris Hoyean Song) 元のコードスニペットからモデルのURLをこのファイルにコピーしてください。 

TensorflowとTensorflow Liteのオプションでは、ソフトウェアとコーディング・ライブラリのインストールが異なります。詳細な手順については、githubサイトを確認してください。

テクノベーションの統合: Python、App Inventor

現在、Machine Learning for Kidsの統合で、ジュニアとシニア部門で完全に機能しているのはPythonだけだ。 

Machine Learning for KidsモデルのPythonへの統合についてもっと学ぶには、このページのワークシートの1つを試してみてください。Make Type ドロップダウンから Python を選択します。 

MIT App Inventorは統合のためのオプションですが、すべてのデータセットタイプが完全に動作するわけではありません。あなたのデータセットがApp Inventorと互換性があることを確認するには、Machine Learning for Kidsのウェブサイトをチェックしてください。 

 

エクステンションは、アプリに機能を追加する外部コンポーネントですが、App Inventor のコア コンポーネントには含まれません。

App Inventorの分類器ウェブサイト(イメージサウンド)を使用してイメージまたはサウンドモデルをトレーニングしたら、App Inventorのエクステンションを使用して、モバイルアプリでモデルを実現します。 

App Inventor のすべての拡張機能を使用できます。 これ をダウンロードし、App Inventor にインポートして使用できます。モデルに適した拡張子を選択してください。
  1. デザイナーパレットのExtensionをクリックします。
  2. 拡張機能のインポートをクリックします。
  3. Choose Fileをクリックし、上記の拡張機能ページからダウンロードした拡張機能ファイルを選択します。
  4. インポートボタンをクリックして、エクステンションとそのブロックをインポートします。

また、プロジェクトにWebViewerコンポーネントを追加する必要があります。WebViewer コンポーネントは User Interface ドロワーにあります。

以下の例では、Image Classifierのセットアップ方法を示しますが、サウンドを含むモデルであれば、Audio Classifierでもほとんど同じように動作します。

分類器からモデルをリンクするには、まず分類器のウェブサイトからモデルをダウンロードします、 

  1. PersonalImageClassiferコンポーネントを選択します。
  2. プロパティパネルで、モデルの下の「なし」をクリックし、ダウンロードしたmodel.mdlファイルをアップロードします。(ファイル名は自由に変更できますが、拡張子が.mdlでなければなりません)。
  3. WebViewerの下にある "None "をクリックし、プロジェクトに追加したばかりのWebViewerコンポーネントを選択します。

App InventorのWebViewerのスクリーンショット

InputMode "プロパティに注意してください。Videoを選択すると、WebViewerに表示されるビデオフィードを継続的に分類しようとします。Image を選択した場合は、分類する画像を取得するために Camera または ImagePicker コンポーネントを追加する必要があります。画像の分類を行うには、WebViewerコンポーネントが必要です。

ウェブビューアの入力モード

以下のビデオでは、第5週で作成した健康な果物と病気の果物のモデルをApp Inventorに追加し、携帯電話のカメラを使って健康な果物と病気の果物を識別できるモバイルアプリを作成する方法をご覧ください。

パート2では、分類器のブロックをコーディングします。

Ximilarで作られたモデルは、APIを使ってアプリに統合することができます。

ThunkableのWeb APIコンポーネントを使用して、Ximilarのようなプラットフォームからの外部モデルをアプリに統合することができます。注:次のユニットでThunkableのAPIについて説明します。

ユニット5のサンゴAIモデルをThunkableモバイルアプリに組み込むためのPrathamのビデオの後編をご覧ください。

アクティビティ:AIモデルの統合

所要時間:60分以上

選択したプラットフォームに基づいて統合する

  1. 学習したAIモデルをプロジェクトに追加するために、特定のプラットフォームで何が必要かを確認します。
  2. 選択したプラットフォームで新しいプロジェクトを作成し、モデルを追加します。どのように行うかは、特定のプラットフォームのプロセスによって異なります。
  3. アクションを起こす!コンポーネントとコードをプラットフォームに追加して、モデルからの予測に基づいてプロジェクトがアクションを起こせるようにしましょう。

振り返り

AIアプリのアクション部分のコーディングが始まりました!ここで、あなたのモデルの結果と、それが実際にできることを見ることができます!

プロジェクトの進捗状況を確認するために、プロジェクトプラン/キャンバスをチェックする良い機会です。使用しているプラットフォームや、プロジェクトの目標を達成するために必要なステップに基づいて、タイムラインやタスクを調整したくなるかもしれません。

コードが動作するようになったら、ユーザーと一緒にチェックする時間です。アプリをテストし、フィードバックをくれる人を見つけましょう。

チェックリスト

主な用語のおさらい

  • ソフトウェア- コンピュータやデバイス上で動作するプログラムやアプリケーションを指す。
  • 拡張機能- 既存のプログラムに機能を追加するソフトウェアバンドル

追加リソース

Teachable MachineとCoralを使ったマシュマロ選別機。

より高度なAIツールに関するビデオをご覧ください!