REST APIを使用して、Prediction Oneも予測モデルのアップデート(最新データによるモデルの再学習)ができます。以下の一連のAPIによって実行します。
再学習用状況を取得します。 再学習が完了したときに再学習結果ファイルダウンロードURLが取得できます。
https://developer-api.predictionone.sony.biz/v1/external/retrain_jobs/{retrain_job_id}
HTTPメソッドは、GETです。
name | 説明 |
---|---|
x-api-key | API Key。モデル毎に1つ割り当てられる。 |
name | 説明 |
---|---|
retrain_job_id | retrain_job_id。アップロードURL取得時に発行される。 |
ありません。
ありません。
以下のフォーマットです。
{
"status": str,
Optional("model_id"): int,
Optional("message"): str,
Optional("download_url"): str,
"metadata": {
"retrain_job_id": str
}
}
code | error | message | reason |
---|---|---|---|
4001000204 | PREDA_EXTERNAL_BAD_REQUEST | invalid_api_key. | APIキーが存在しない |
4001000204 | PREDA_EXTERNAL_BAD_REQUEST | Inactive_credential. | APIキーが間違っている |
4001000204 | PREDA_EXTERNAL_BAD_REQUEST | Not_found_credential. | APIキーが間違っている |
4001000204 | PREDA_EXTERNAL_BAD_REQUEST | Not found retrain job. | retrain_job_idが間違っている |
4001000204 | PREDA_EXTERNAL_BAD_REQUEST | This job may be deleted. | ジョブが削除されている可能性がある |
Retrain Status Check APIのpythonによる実行例が以下となります。
Get retrain job dataset upload url APIの実行を行った状態を前提としています。
import requests
retrain_job_id = 'YOUR_RETRAIN_JOB_ID'
api_url = f'https://developer-api.predictionone.sony.biz/v1/external/retrain_jobs/{YOUR_RETRAIN_JOB_ID}'
api_key = 'YOUR_API_KEY'
headers = {
'x-api-key': api_key
}
response = requests.get(api_url, headers=headers)
response_json = response.json()
status = response_json['status']
download_url = None
while True:
if response_json['status'] == 'job_finished':
download_url = response_json['download_url']
if download_url:
response = requests.get(download_url)
with open(result_file_path, 'w') as f:
print(response.content)
Retrain Status Check APIのコマンドプロンプトからcurlコマンドによる実行例が以下となります。 Get retrain job dataset upload url APIの実行を行った状態を前提としています。
1. コマンドプロンプトを立ち上げる
2. 表示をUTF-8に変更
$ chcp 65001
3. リクエストする
$ curl -o "response.json" -H "x-api-key:{YOUR_API_KEY}" -X GET -G https://developer-api.predictionone.sony.biz/v1/external/retrain_jobs/{retrain_job_id}
ex) $ curl -o "response.json" -H "x-api-key:xxxx-xxx-xxx-xxxx" -X GET -G https://developer-api.predictionone.sony.biz/v1/external/retrain_jobs/{xxxx-xxxx-xxxx-xxxx}
4. response.jsonを確認statusを確認
statusがjob_finishedの場合にdownload_urlを取得
5. 再学習結果を取得
$ curl -G GET {4.で取得したdownload_url}