[小ネタ]Amazon SageMaker Processingのジョブの一覧をBoto3を使って確認する
Amazon SageMaker Processingを利用することで、SageMaker上で前処理や評価処理等を実行できます。 しかしながら、2019年1月15日現在、マネジメントコンソールからSageMaker Processingのジョブの一覧を確認することができません。 今回はBoto3を使用してSageMaker Processingのジョブの一覧を確認してみます。
やってみる
SageMaker Processingジョブの一覧を取得する
list_processing_jobsを使って、ジョブの取得が可能です。何も引数を設定しない場合直近のジョブが表示されます。そのままだと読みにくいので、データフレーム形式に変換すると読みやすく&扱いやすくなります。
import boto3 import pandas as pd sm = boto3.Session().client('sagemaker') jobs = sm.list_processing_jobs() pd.DataFrame(jobs['ProcessingJobSummaries'])
加工前のデータは次のようにProcessingJobSummaries
とNextToken
、ResponseMetadata
で構成されるdict
形式のデータとなります。(上で取得したデータとは異なります。)
取得するジョブ数を制限する
MaxResults
で取得最大件数を指定することができます。(最大100件)
sm.list_processing_jobs(MaxResults=1)
加工前のデータは次のようにProcessingJobSummaries
とNextToken
、ResponseMetadata
で構成されるdict
形式のデータとなります。
ジョブステータスから絞り込む
StatusEquals
で取得するジョブのステータスを絞り込むことができます。
- 指定可能なステータス:
InProgress
,Completed
,Failed
,Stopping
,Stopped
jobs = sm.list_processing_jobs(StatusEquals='Failed') pd.DataFrame(jobs['ProcessingJobSummaries'])
ジョブ名で絞り込む
NameContains
で取得するジョブの名前を絞り込むことができます。
jobs = sm.list_processing_jobs(NameContains='demo') pd.DataFrame(jobs['ProcessingJobSummaries'])
ジョブの詳細を取得する
describe_processing_jobを使うことで、指定したジョブの詳細情報を取得することができます。
sm.describe_processing_job(ProcessingJobName='demo-smdebug-xgboost-regre-TreeDepth-0c2462e7')
さいごに
Boto3を使用して、Amazon SageMaker Processingのジョブの一覧を取得する方法について紹介しました。