Skip to content

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

Visual Artificial Intelligence (AI)での予測

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

方法 説明 参照...
UIでの予測 プロジェクトの作成に使用したものと同じデータセット形式を使用します(1つ以上の画像を含むZIPアーカイブをアップロードします)。 「予測を作成」タブ
モデルデプロイ:API
(リアルタイム、小さなデータセット)
Base64形式を使用します(下記参照)。
モデルデプロイ:バッチ
(大きなデータセット)
APIクライアントおよびHTTPインターフェイスのオプションについては、プロジェクトの作成に使用した元のデータセットと同じデータセット形式を使用します(つまり、1つ以上の画像を含むZIPアーカイブをアップロードしてください)。 CLIインターフェイスオプションの場合は、base64形式を使用します(以下で説明)。 バッチ予測スクリプト
ポータブル予測サーバー Base64形式を使用します(下記参照)。 ポータブル予測サーバー

Base64エンコーディング形式

トレーニングデータセットが1つ以上の画像ファイルを含むZIPアーカイブで構成されている場合、予測データセットを別の形式に変換して、単一のCSVファイルに完全に格納する必要があります。

サンプルスクリプト

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

備考

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

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

python visualai_data_prep.py pred_dataset.zip pred_dataset.csv image

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

  • visualai_data_prep.pyは、base64形式への変換に使用する包括的なデータ準備スクリプトです。
  • 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にエンコードすることもできます。


更新しました September 13, 2023