Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

パイプラインを実行する

フォーカスモード
パイプラインを実行する - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

パイプラインのステップを有向非巡回グラフ (DAG) として定義した後、パイプラインを実行して、DAG で定義したステップを実行できます。以下のチュートリアルでは、Amazon SageMaker Studio のdrag-and-dropビジュアルエディタまたは Amazon SageMaker Python SDK を使用して Amazon SageMaker AI パイプラインを実行する方法を示します。

パイプラインの新しい実行を開始するには、次の手順を実行します。

Studio
  1. Launch Amazon SageMaker Studio」の手順に従って、SageMaker Studio を開きます。

  2. 左側のナビゲーションペインで、[パイプライン] を選択します。

  3. (オプション) パイプラインのリストを名前でフィルタリングするには、検索フィールドにパイプライン名全体または一部を入力します。

  4. パイプライン名を選択します。

  5. [実行] タブをクリックします。

  6. 以下の必須情報を入力または更新します。

    • 名前 – AWS リージョン内のアカウントに固有の名前

    • 説明 – 実行のオプションの説明

    • ProcessingInstanceType – 処理ジョブに使用する Amazon EC2 インスタンスタイプ

    • TrainingInstanceType – トレーニングジョブに使用する Amazon EC2 インスタンスタイプ

    • InputData – 入力データへの Amazon S3 URI

    • PreprocessScript – 前処理スクリプトへの Amazon S3 URI

    • EvaluateScript – モデル評価スクリプトへの Amazon S3 URI

    • AccuracyConditionThreshold – モデルをレジストリに登録するために達成すべきモデル精度のしきい値

    • ModelGroup – モデルを登録するレジストリ

    • MaximumParallelTrainingJobs – 並行して実行できるトレーニングジョブの最大数

    • MaximumTrainingJobs – 実行するトレーニングジョブの最大数

  7. [Create] (作成) を選択します。

注記

パイプラインが正常に完了しない場合、ステータスバナーに [失敗] ステータスが表示されます。失敗したステップをトラブルシューティングして、ステータスバナーの [Retry] (再試行) を選択し、パイプラインの実行を失敗したステップから再開します。

Studio Classic
  1. Amazon SageMaker Studio Classic にサインインします。詳細については、「Launch Amazon SageMaker Studio Classic」を参照してください。

  2. Studio Classic サイドバーで、[ホーム] アイコン ( Black square icon representing a placeholder or empty image. ) をクリックします。

  3. メニューから [パイプライン] を選択します。

  4. (オプション) パイプラインのリストを名前で絞り込むには、検索フィールドにパイプライン名全体または一部を入力します。

  5. パイプライン名を選択します。

  6. 実行リストの [実行] または [グラフ] タブで、[実行の作成] を選択します。

  7. 以下の必須情報を入力または更新します。

    • Name (名前) - AWS リージョンのアカウントに固有のものである必要があります。

    • ProcessingInstanceCount - 処理に使用するインスタンスの数。

    • ModelApprovalStatus - 参考情報。

    • InputDataUrl – 入力データの Amazon S3 URI

  8. [開始] を選択します。

パイプラインが実行されると、ステータスバナーの [詳細の表示] を選択して実行の詳細を表示できます。

実行を停止する場合は、ステータスバナーの [停止] を選択します。停止した時点から実行を再開する場合は、ステータスバナーの [Resume] (再開) を選択します。

注記

パイプラインが正常に完了しない場合、ステータスバナーに [失敗] ステータスが表示されます。失敗したステップをトラブルシューティングして、ステータスバナーの [Retry] (再試行) を選択し、パイプラインの実行を失敗したステップから再開します。

パイプラインの新しい実行を開始するには、次の手順を実行します。

Studio
  1. Launch Amazon SageMaker Studio」の手順に従って、SageMaker Studio を開きます。

  2. 左側のナビゲーションペインで、[パイプライン] を選択します。

  3. (オプション) パイプラインのリストを名前でフィルタリングするには、検索フィールドにパイプライン名全体または一部を入力します。

  4. パイプライン名を選択します。

  5. [実行] タブをクリックします。

  6. 以下の必須情報を入力または更新します。

    • 名前 – AWS リージョン内のアカウントに固有の名前

    • 説明 – 実行のオプションの説明

    • ProcessingInstanceType – 処理ジョブに使用する Amazon EC2 インスタンスタイプ

    • TrainingInstanceType – トレーニングジョブに使用する Amazon EC2 インスタンスタイプ

    • InputData – 入力データへの Amazon S3 URI

    • PreprocessScript – 前処理スクリプトへの Amazon S3 URI

    • EvaluateScript – モデル評価スクリプトへの Amazon S3 URI

    • AccuracyConditionThreshold – モデルをレジストリに登録するために達成すべきモデル精度のしきい値

    • ModelGroup – モデルを登録するレジストリ

    • MaximumParallelTrainingJobs – 並行して実行できるトレーニングジョブの最大数

    • MaximumTrainingJobs – 実行するトレーニングジョブの最大数

  7. [Create] (作成) を選択します。

注記

パイプラインが正常に完了しない場合、ステータスバナーに [失敗] ステータスが表示されます。失敗したステップをトラブルシューティングして、ステータスバナーの [Retry] (再試行) を選択し、パイプラインの実行を失敗したステップから再開します。

Studio Classic
  1. Amazon SageMaker Studio Classic にサインインします。詳細については、「Launch Amazon SageMaker Studio Classic」を参照してください。

  2. Studio Classic サイドバーで、[ホーム] アイコン ( Black square icon representing a placeholder or empty image. ) をクリックします。

  3. メニューから [パイプライン] を選択します。

  4. (オプション) パイプラインのリストを名前で絞り込むには、検索フィールドにパイプライン名全体または一部を入力します。

  5. パイプライン名を選択します。

  6. 実行リストの [実行] または [グラフ] タブで、[実行の作成] を選択します。

  7. 以下の必須情報を入力または更新します。

    • Name (名前) - AWS リージョンのアカウントに固有のものである必要があります。

    • ProcessingInstanceCount - 処理に使用するインスタンスの数。

    • ModelApprovalStatus - 参考情報。

    • InputDataUrl – 入力データの Amazon S3 URI

  8. [開始] を選択します。

パイプラインが実行されると、ステータスバナーの [詳細の表示] を選択して実行の詳細を表示できます。

実行を停止する場合は、ステータスバナーの [停止] を選択します。停止した時点から実行を再開する場合は、ステータスバナーの [Resume] (再開) を選択します。

注記

パイプラインが正常に完了しない場合、ステータスバナーに [失敗] ステータスが表示されます。失敗したステップをトラブルシューティングして、ステータスバナーの [Retry] (再試行) を選択し、パイプラインの実行を失敗したステップから再開します。

  1. Launch Amazon SageMaker Studio」の手順に従って、SageMaker Studio を開きます。

  2. 左側のナビゲーションペインで、[パイプライン] を選択します。

  3. (オプション) パイプラインのリストを名前でフィルタリングするには、検索フィールドにパイプライン名全体または一部を入力します。

  4. パイプライン名を選択します。

  5. [実行] タブをクリックします。

  6. 以下の必須情報を入力または更新します。

    • 名前 – AWS リージョン内のアカウントに固有の名前

    • 説明 – 実行のオプションの説明

    • ProcessingInstanceType – 処理ジョブに使用する Amazon EC2 インスタンスタイプ

    • TrainingInstanceType – トレーニングジョブに使用する Amazon EC2 インスタンスタイプ

    • InputData – 入力データへの Amazon S3 URI

    • PreprocessScript – 前処理スクリプトへの Amazon S3 URI

    • EvaluateScript – モデル評価スクリプトへの Amazon S3 URI

    • AccuracyConditionThreshold – モデルをレジストリに登録するために達成すべきモデル精度のしきい値

    • ModelGroup – モデルを登録するレジストリ

    • MaximumParallelTrainingJobs – 並行して実行できるトレーニングジョブの最大数

    • MaximumTrainingJobs – 実行するトレーニングジョブの最大数

  7. [Create] (作成) を選択します。

注記

パイプラインが正常に完了しない場合、ステータスバナーに [失敗] ステータスが表示されます。失敗したステップをトラブルシューティングして、ステータスバナーの [Retry] (再試行) を選択し、パイプラインの実行を失敗したステップから再開します。

SageMaker AI Python SDK を使用してパイプライン定義を作成したら、それを SageMaker AI に送信して実行を開始できます。以下のチュートリアルでは、パイプラインの送信、実行の開始、その実行結果の確認、パイプラインの削除方法を説明します。

前提条件

このチュートリアルでは、以下が必要です。

  • SageMaker ノートブックインスタンス。 

  • Pipelines パイプライン定義。このチュートリアルは、「パイプラインを定義する」チュートリアルを実行して作成したパイプライン定義を使用することを前提としています。

ステップ 1: パイプラインを開始する

最初に、パイプラインを開始する必要があります。

パイプラインを開始するには
  1. JSON パイプラインの定義を調べて、フォーマットに誤りがないことを確認します。

    import json json.loads(pipeline.definition())
  2. パイプライン定義を Pipelines サービスに送信して、パイプラインが存在しない場合はパイプラインを作成し、存在する場合はパイプラインを更新します。渡されたロールは、Pipelines がステップで定義されているすべてのジョブを作成するために使用されます。

    pipeline.upsert(role_arn=role)
  3. パイプラインの実行を開始します。

    execution = pipeline.start()

ステップ 2: パイプラインの実行を確認する

次に、パイプラインの実行を確認する必要があります。

パイプラインの実行を確認するには
  1. パイプラインの実行ステータスを書き留め、パイプラインが正常に作成され、開始されたことを確認します。

    execution.describe()
  2. 実行が終了するまで待ちます。

    execution.wait()
  3. 実行ステップとそのステータスをリストします。

    execution.list_steps()

    出力は次のようになります。

    [{'StepName': 'AbaloneTransform', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 870000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 45, 50, 492000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'TransformJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:transform-job/pipelines-cfvy1tjuxdq8-abalonetransform-ptyjoef3jy'}}}, {'StepName': 'AbaloneRegisterModel', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 929000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 28, 15000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'RegisterModel': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model-package/abalonemodelpackagegroupname/1'}}}, {'StepName': 'AbaloneCreateModel', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 895000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 708000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'Model': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model/pipelines-cfvy1tjuxdq8-abalonecreatemodel-jl94rai0ra'}}}, {'StepName': 'AbaloneMSECond', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 25, 558000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 329000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'Condition': {'Outcome': 'True'}}}, {'StepName': 'AbaloneEval', 'StartTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 767000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 18, 80000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneeval-zfraozhmny'}}}, {'StepName': 'AbaloneTrain', 'StartTime': datetime.datetime(2020, 11, 21, 2, 34, 55, 867000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 34000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'TrainingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:training-job/pipelines-cfvy1tjuxdq8-abalonetrain-tavd6f3wdf'}}}, {'StepName': 'AbaloneProcess', 'StartTime': datetime.datetime(2020, 11, 21, 2, 30, 27, 160000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 34, 48, 390000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneprocess-mgqyfdujcj'}}}]
  4. パイプラインの実行が完了したら、Amazon S3 から結果の evaluation.json ファイルをダウンロードして、レポートを確認します。

    evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format( step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"] )) json.loads(evaluation_json)

ステップ 3: パイプラインの実行のデフォルトパラメータをオーバーライドする

異なるパイプラインパラメータを指定して追加のパイプラインの実行を動作させると、デフォルトをオーバーライドできます。

デフォルトパラメータをオーバーライドするには
  1. パイプラインの実行を作成します。これにより、モデル承認ステータスのオーバーライドが「承認済み」に設定された状態で別のパイプライン実行が開始されます。つまり、SageMaker プロジェクトなどの CI/CD パイプラインを通じて、RegisterModel ステップで生成されたモデルパッケージバージョンを自動的にデプロイする準備が整います。詳細については、「SageMaker プロジェクトを使用した MLOps の自動化」を参照してください。

    execution = pipeline.start( parameters=dict( ModelApprovalStatus="Approved", ) )
  2. 実行が終了するまで待ちます。

    execution.wait()
  3. 実行ステップとそのステータスをリストします。

    execution.list_steps()
  4. パイプラインの実行が完了したら、Amazon S3 から結果の evaluation.json ファイルをダウンロードして、レポートを確認します。

    evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format( step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"] )) json.loads(evaluation_json)

ステップ 4: パイプラインの実行を停止して削除する

パイプラインの処理が終了したら、継続中の実行を停止し、パイプラインを削除できます。

パイプラインの実行を停止して削除するには
  1. パイプラインの実行を停止します。

    execution.stop()
  2. パイプラインを削除します。

    pipeline.delete()

SageMaker AI Python SDK を使用してパイプライン定義を作成したら、それを SageMaker AI に送信して実行を開始できます。以下のチュートリアルでは、パイプラインの送信、実行の開始、その実行結果の確認、パイプラインの削除方法を説明します。

前提条件

このチュートリアルでは、以下が必要です。

  • SageMaker ノートブックインスタンス。 

  • Pipelines パイプライン定義。このチュートリアルは、「パイプラインを定義する」チュートリアルを実行して作成したパイプライン定義を使用することを前提としています。

ステップ 1: パイプラインを開始する

最初に、パイプラインを開始する必要があります。

パイプラインを開始するには
  1. JSON パイプラインの定義を調べて、フォーマットに誤りがないことを確認します。

    import json json.loads(pipeline.definition())
  2. パイプライン定義を Pipelines サービスに送信して、パイプラインが存在しない場合はパイプラインを作成し、存在する場合はパイプラインを更新します。渡されたロールは、Pipelines がステップで定義されているすべてのジョブを作成するために使用されます。

    pipeline.upsert(role_arn=role)
  3. パイプラインの実行を開始します。

    execution = pipeline.start()

ステップ 2: パイプラインの実行を確認する

次に、パイプラインの実行を確認する必要があります。

パイプラインの実行を確認するには
  1. パイプラインの実行ステータスを書き留め、パイプラインが正常に作成され、開始されたことを確認します。

    execution.describe()
  2. 実行が終了するまで待ちます。

    execution.wait()
  3. 実行ステップとそのステータスをリストします。

    execution.list_steps()

    出力は次のようになります。

    [{'StepName': 'AbaloneTransform', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 870000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 45, 50, 492000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'TransformJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:transform-job/pipelines-cfvy1tjuxdq8-abalonetransform-ptyjoef3jy'}}}, {'StepName': 'AbaloneRegisterModel', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 929000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 28, 15000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'RegisterModel': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model-package/abalonemodelpackagegroupname/1'}}}, {'StepName': 'AbaloneCreateModel', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 895000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 27, 708000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'Model': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:model/pipelines-cfvy1tjuxdq8-abalonecreatemodel-jl94rai0ra'}}}, {'StepName': 'AbaloneMSECond', 'StartTime': datetime.datetime(2020, 11, 21, 2, 41, 25, 558000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 26, 329000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'Condition': {'Outcome': 'True'}}}, {'StepName': 'AbaloneEval', 'StartTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 767000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 41, 18, 80000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneeval-zfraozhmny'}}}, {'StepName': 'AbaloneTrain', 'StartTime': datetime.datetime(2020, 11, 21, 2, 34, 55, 867000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 37, 34, 34000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'TrainingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:training-job/pipelines-cfvy1tjuxdq8-abalonetrain-tavd6f3wdf'}}}, {'StepName': 'AbaloneProcess', 'StartTime': datetime.datetime(2020, 11, 21, 2, 30, 27, 160000, tzinfo=tzlocal()), 'EndTime': datetime.datetime(2020, 11, 21, 2, 34, 48, 390000, tzinfo=tzlocal()), 'StepStatus': 'Succeeded', 'CacheHitResult': {'SourcePipelineExecutionArn': ''}, 'Metadata': {'ProcessingJob': {'Arn': 'arn:aws:sagemaker:us-east-2:111122223333:processing-job/pipelines-cfvy1tjuxdq8-abaloneprocess-mgqyfdujcj'}}}]
  4. パイプラインの実行が完了したら、Amazon S3 から結果の evaluation.json ファイルをダウンロードして、レポートを確認します。

    evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format( step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"] )) json.loads(evaluation_json)

ステップ 3: パイプラインの実行のデフォルトパラメータをオーバーライドする

異なるパイプラインパラメータを指定して追加のパイプラインの実行を動作させると、デフォルトをオーバーライドできます。

デフォルトパラメータをオーバーライドするには
  1. パイプラインの実行を作成します。これにより、モデル承認ステータスのオーバーライドが「承認済み」に設定された状態で別のパイプライン実行が開始されます。つまり、SageMaker プロジェクトなどの CI/CD パイプラインを通じて、RegisterModel ステップで生成されたモデルパッケージバージョンを自動的にデプロイする準備が整います。詳細については、「SageMaker プロジェクトを使用した MLOps の自動化」を参照してください。

    execution = pipeline.start( parameters=dict( ModelApprovalStatus="Approved", ) )
  2. 実行が終了するまで待ちます。

    execution.wait()
  3. 実行ステップとそのステータスをリストします。

    execution.list_steps()
  4. パイプラインの実行が完了したら、Amazon S3 から結果の evaluation.json ファイルをダウンロードして、レポートを確認します。

    evaluation_json = sagemaker.s3.S3Downloader.read_file("{}/evaluation.json".format( step_eval.arguments["ProcessingOutputConfig"]["Outputs"][0]["S3Output"]["S3Uri"] )) json.loads(evaluation_json)

ステップ 4: パイプラインの実行を停止して削除する

パイプラインの処理が終了したら、継続中の実行を停止し、パイプラインを削除できます。

パイプラインの実行を停止して削除するには
  1. パイプラインの実行を停止します。

    execution.stop()
  2. パイプラインを削除します。

    pipeline.delete()
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.