Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Amazon SageMaker expérimente l'intégration
Amazon SageMaker Model Building Pipelines est étroitement intégré à Amazon SageMaker Experiments. Par défaut, lorsque SageMaker Pipelines crée et exécute un pipeline, les entités SageMaker Experiments suivantes sont créées si elles n'existent pas :
-
Une expérience pour le pipeline
-
Un groupe d'exécution pour chaque exécution du pipeline
-
Une exécution ajoutée au groupe d'exécution pour chaque SageMaker tâche créée lors d'une étape d'exécution du pipeline
Vous pouvez comparer des indicateurs tels que la précision de l'entraînement du modèle entre plusieurs exécutions de pipeline, tout comme vous pouvez comparer ces indicateurs entre plusieurs groupes d'essais d'une expérience d'entraînement de SageMaker modèle.
L'exemple suivant montre les paramètres pertinents de la classe Pipeline
Pipeline( name="MyPipeline", parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[...] )
Si vous ne souhaitez pas qu'une expérience et un essai soient créés pour le pipeline, définissez pipeline_experiment_config
sur None
.
Note
L'intégration des expériences a été introduite dans Amazon SageMaker Python SDK v2.41.0.
Les règles de dénomination suivantes s'appliquent en fonction de ce que vous spécifiez pour les paramètres ExperimentName
et TrialName
de pipeline_experiment_config
:
-
Si vous ne spécifiez pas
ExperimentName
, le pipelinename
est utilisé pour le nom de l'expérience.Si vous spécifiez
ExperimentName
, il est utilisé pour le nom de l'expérience. Si une expérience portant ce nom existe, les groupes d'exécution créés par le pipeline sont ajoutés à l'expérience existante. Si une expérience avec ce nom n'existe pas, une expérience est créée. -
Si vous ne spécifiez pas
TrialName
, l'ID d'exécution du pipeline est utilisé pour le nom du groupe d'exécution.Si vous spécifiez
TrialName
, il est utilisé pour le nom du groupe d'exécution. Si une expérience portant ce nom existe, les exécutions créées par le pipeline sont ajoutées au groupe d'exécution existant. Si un groupe d'exécution portant ce nom n'existe pas, un groupe d'exécution est créé.
Note
Les entités d'expérience ne sont pas supprimées lorsque le pipeline qui a créé les entités est supprimé. Vous pouvez utiliser les SageMaker expériences API pour supprimer les entités.
Pour plus d'informations sur la façon d'afficher les entités SageMaker Experiment associées à un pipeline, consultezAfficher les entités d'expérimentation créées par des SageMaker pipelines. Pour plus d'informations sur SageMaker les expériences, voirGérez Amazon SageMaker Experiments dans Studio Classic.
Les sections suivantes présentent des exemples des règles précédentes et la manière dont elles sont représentées dans le fichier de définition de pipeline. Pour plus d'informations sur les fichiers de définition de pipeline, veuillez consulter SageMaker Vue d'ensemble des pipelines.
Rubriques
Comportement par défaut
Crée un pipeline.
Le pipeline_experiment_config
est omis. ExperimentName
est défini par défaut sur le pipeline name
. TrialName
est défini par défaut sur l'ID d'exécution.
pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], steps=[step_train] )
Fichier de définition de pipeline
{ "Version": "2020-12-01", "Parameters": [ { "Name": "InputDataSource" }, { "Name": "InstanceCount", "Type": "Integer", "DefaultValue": 1 } ], "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }
Désactiver l'intégration d'Experiments
Crée un pipeline.
Le pipeline_experiment_config
est réglé sur None
.
pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=None, steps=[step_train] )
Fichier de définition de pipeline
Il est identique à l'exemple par défaut précédent, sans le PipelineExperimentConfig
.
Spécifier un nom d'expérience personnalisé
Un nom d'expérience personnalisé est utilisé. Le nom du groupe d'exécution est défini sur l'ID d'exécution, tout comme avec le comportement par défaut.
Crée un pipeline.
pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( "CustomExperimentName", ExecutionVariables.PIPELINE_EXECUTION_ID ), steps=[step_train] )
Fichier de définition de pipeline
{ ..., "PipelineExperimentConfig": { "ExperimentName": "CustomExperimentName", "TrialName": {"Get": "Execution.PipelineExecutionId"} }, "Steps": [...] }
Spécifier un nom de groupe d'exécution personnalisé
Un nom de groupe d'exécution personnalisé est utilisé et ajouté à l'ID d'exécution. Le nom de l'expérience est défini sur le nom du pipeline, comme avec le comportement par défaut.
Crée un pipeline.
pipeline_name = f"MyPipeline" pipeline = Pipeline( name=pipeline_name, parameters=[...], pipeline_experiment_config=PipelineExperimentConfig( ExecutionVariables.PIPELINE_NAME, Join(on="-", values=["CustomTrialName", ExecutionVariables.PIPELINE_EXECUTION_ID]) ), steps=[step_train] )
Fichier de définition de pipeline
{ ..., "PipelineExperimentConfig": { "ExperimentName": {"Get": "Execution.PipelineName"}, "TrialName": { "On": "-", "Values": [ "CustomTrialName", {"Get": "Execution.PipelineExecutionId"} ] } }, "Steps": [...] }