Skip to content

アプリケーション内で をクリックすると、お使いのDataRobotバージョンに関する全プラットフォームドキュメントにアクセスできます。

Visual Artificial Intelligence (AI)での予測

イメージモデルから予測を行うには、さまざまな方法があります。

方法 説明 参照...
UIでの予測 プロジェクトの作成時に使用したものと同じデータセット形式を使用します。 予測を作成タブ
モデルデプロイ:API
(リアルタイム、小さなデータセット)
Base64形式を使用します(下記参照)。 デプロイタブ(UI)
予測API
モデルデプロイ:バッチ
(大きなデータセット)
Base64形式を使用します(下記参照)。 バッチ予測スクリプト
ポータブル予測サーバー Base64形式を使用します(下記参照)。 ポータブル予測サーバー

Base64エンコーディング形式

ほとんどの予測方法では、単一のCSVファイルを使用します。トレーニングデータセットがイメージファイルを含むZIPアーカイブで構成されている場合、予測データセットを別の形式に変換して、単一のCSVファイルに完全に格納する必要があります。

サンプルスクリプト

ビジュアルデータの変換については、DataRobotコミュニティの以下のリンクを参照してください。

備考

GitHub にログインしてからこれらのGitHub リソースにアクセスしてください。

使用例を以下に示します。

python visualai_data_prep.py pred_dataset.zip pred_dataset.csv image

各パラメーターについて説明します。

  • pred_dataset.zipは入力データセット(イメージのZIP)です。
  • pred_dataset.csvは出力で、予測APIで使用できます。
  • imageはイメージ列名です。

一歩進んだ操作

イメージファイルのセットを単一のCSVファイルに変換するには、各イメージをbase64テキストに変換する必要があります。この形式によって、イメージをCSVの通常のテキスト列として埋め込むことができます。バイナリイメージデータをBase64にエンコードするのは、どのプログラミング言語にもある簡単な作業です。

ここでは、Pythonでの例を示します。

import base64
import pandas as pd
from io import BytesIO
from PIL import Image


def image_to_base64(image: Image) -> str:
    img_bytes = BytesIO()
    image.save(img_bytes, 'jpeg', quality=90)
    image_base64 = base64.b64encode(img_bytes.getvalue()).decode('utf-8')
    return image_base64


# let's build a CSV with a single row that contains an image
# the same general approach works if you have multiple image rows or columns
image = Image.open('cat.jpg')
image_base64 = image_to_base64(image)

df = pd.DataFrame({'animal_image': [image_base64]})
df.to_csv('prediction_dataset.csv' index=False)
print(df)

備考

バイナリイメージファイル(デコードされたピクセルコンテンツではありません)をBase64にエンコードします。この例ではPIL.Imageを使ってファイルを開いていますが、イメージファイルを直接Base64にエンコードすることもできます。


更新しました April 15, 2022
Back to top