お世話になっております。
現在,画像2クラス分類モデルを構築しデプロイして分類アプリケーションを立ち上げています。
このデプロイについて予測APIスクリプトコードを取得し,ローカルに存在する画像Zipファイルのアップロード→予測結果をCSVファイルで得る処理を実行しています(予測APIスクリプトコードとしては,デフォルトでDataRobotに出力されるものをそのまま利用しています。)。
実行結果として得られるCSVファイルには確率値や予測クラスなどは記載されていますが,肝心の画像ファイルパスが記載されていないので,”どの画像がどのクラスに分類されたのか”がわからない状況です。
(得られたCSVファイル:画像ファイルパスが存在しない)
予測結果として返されるデータに画像ファイルパスを追加する方法があればご教示いただきたいです。
解決済! 解決策の投稿を見る。
自己解決しました。
datarobotモジュールのBatchPredictionJob.score() の passthrough_columns を追加するだけで可能でした@下記例。
job = dr.BatchPredictionJob.score(
deployment=DEPLOYMENT_ID,
include_prediction_status=True,
intake_settings={
'type': 'dataset',
'dataset': image_dataset,
},
output_settings={
'type': 'localFile',
'path': output_file,
},
# ↓↓↓この行を追加↓↓↓
passthrough_columns = ['画像ファイルパス'],
)
@rhira 様
追記
書き込む前に解決されていましたね。無事解決できたようでよかったです。
ご質問ありがとうございます。DataRobotの畑です。
出力される予測APIスクリプトコード、というのがPythonのスクリプトだと思って解説します。
出力されるコードを一部書き換えると、画像ファイルパスを追加することができます。
Before
job = dr.BatchPredictionJob.score(
deployment=DEPLOYMENT_ID,
include_prediction_status=True,
intake_settings={
'type': 'dataset',
'dataset': image_dataset,
},
output_settings={
'type': 'localFile',
'path': output_file,
},
)
After
job = dr.BatchPredictionJob.score(
deployment=DEPLOYMENT_ID,
include_prediction_status=True,
intake_settings={
'type': 'dataset',
'dataset': image_dataset,
},
output_settings={
'type': 'localFile',
'path': output_file,
},
passthrough_columns=["画像ファイルパス"], # ココを追加
)
で画像ファイルパスを追加して、予測結果を保存することができます。