Tracking Entities manuell erstellen - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Tracking Entities manuell erstellen

Sie können Tracking-Entitäten für jede Eigenschaft manuell erstellen. Für Informationen zu Tracking-Entitäten, die Amazon SageMaker erstellt automatisch, sieheAmazon SageMaker — Erstellt Tracking-Entitäaus.

Mit Ausnahme von -Verknüpfungen können Sie allen Entitäten Tags hinzufügen. Tags sind willkürliche Schlüssel-Wert-Paare, die benutzerdefinierte Informationen bereitstellen. Sie können eine Liste oder Suchanfrage nach Tags filtern oder sortieren. Weitere Informationen finden Sie unter Markieren von AWS-Ressourcen in der Allgemeinen AWS-Referenz.

Ein Beispiel-Notebook, das veranschaulicht, wie Abstammungsobjekte erstellt werden, finden Sie in derAmazon-SageMaker-AbstammungNotebook imAmazon SageMaker Beispiel GitHub Endlageraus.

Entitäten manuell erstellen

Die folgende Vorgehensweise zeigt, wie Sie Artefakte zwischen einem SageMaker-Schulungsauftrag und einem Endpunkt erstellen und zuordnen. Führen Sie die folgenden Schritte aus:

Importieren von Tracking-Entitys

  1. Importieren Sie die Entitäten für die Nachverfolgung

    import sys !{sys.executable} -m pip install -q sagemaker from sagemaker import get_execution_role from sagemaker.session import Session from sagemaker.lineage import context, artifact, association, action import boto3 boto_session = boto3.Session(region_name=region) sagemaker_client = boto_session.client("sagemaker")
  2. Erstellen Sie die Ein- und Ausgabeartefakte.

    code_location_arn = artifact.Artifact.create( artifact_name='source-code-location', source_uri='s3://...', artifact_type='code-location' ).artifact_arn # Similar constructs for train_data_location_arn and test_data_location_arn model_location_arn = artifact.Artifact.create( artifact_name='model-location', source_uri='s3://...', artifact_type='model-location' ).artifact_arn
  3. Trainiere das Modell und hol dir dastrial_component_arnDas repräsentiert den Trainingsauftrag.

  4. Verknüpfen Sie die Eingabeartefakte und geben Sie Artefakte aus dem Trainingsjob (Testkomponente) aus.

    input_artifacts = [code_location_arn, train_data_location_arn, test_data_location_arn] for artifact_arn in input_artifacts: try: association.Association.create( source_arn=artifact_arn, destination_arn=trial_component_arn, association_type='ContributedTo' ) except: logging.info('association between {} and {} already exists', artifact_arn, trial_component_arn) output_artifacts = [model_location_arn] for artifact_arn in output_artifacts: try: association.Association.create( source_arn=trial_component_arn, destination_arn=artifact_arn, association_type='Produced' ) except: logging.info('association between {} and {} already exists', artifact_arn, trial_component_arn)
  5. Erstellen Sie den Inferenzendpunkt.

    predictor = mnist_estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
  6. Erstellen Sie den Endpunktkontext.

    from sagemaker.lineage import context endpoint = sagemaker_client.describe_endpoint(EndpointName=predictor.endpoint_name) endpoint_arn = endpoint['EndpointArn'] endpoint_context_arn = context.Context.create( context_name=predictor.endpoint_name, context_type='Endpoint', source_uri=endpoint_arn ).context_arn
  7. Ordnen Sie den Schulungsjob (Testkomponente) und den Endpunktkontext zu.

    association.Association.create( source_arn=trial_component_arn, destination_arn=endpoint_context_arn )

Einen Workflow manuell verfolgen

Sie können den im vorherigen Abschnitt erstellten Workflow manuell verfolgen.

Angesichts des Endpunkts Amazon Resource Name (ARN) aus dem vorherigen Beispiel zeigt das folgende Verfahren, wie Sie den Workflow auf die Datasets zurückverfolgen, die zum Trainieren des Modells verwendet wurden, das auf dem Endpunkt bereitgestellt wurde. Führen Sie die folgenden Schritte aus:

So verfolgen Sie einen Workflow vom Endpunkt zur Trainingsdatenquelle

  1. Importieren Sie die Tracking-Einheiten.

    import sys !{sys.executable} -m pip install -q sagemaker from sagemaker import get_execution_role from sagemaker.session import Session from sagemaker.lineage import context, artifact, association, action import boto3 boto_session = boto3.Session(region_name=region) sagemaker_client = boto_session.client("sagemaker")
  2. Ruft den Endpunktkontext aus dem Endpunkt-ARN ab.

    endpoint_context_arn = sagemaker_client.list_contexts( SourceUri=endpoint_arn)['ContextSummaries'][0]['ContextArn']
  3. Holen Sie sich die Testkomponente aus der Verknüpfung zwischen der Testkomponente und dem Endpunktkontext.

    trial_component_arn = sagemaker_client.list_associations( DestinationArn=endpoint_context_arn)['AssociationSummaries'][0]['SourceArn']
  4. Holen Sie sich das Artefakt der Trainingsdaten aus der Assoziation zwischen der Testkomponente und dem Endpunktkontext.

    train_data_location_artifact_arn = sagemaker_client.list_associations( DestinationArn=trial_component_arn, SourceType='Model')['AssociationSummaries'][0]['SourceArn']
  5. Holen Sie sich den Speicherort der Trainingsdaten aus dem Artefakt der Trainingsdaten.

    train_data_location = sagemaker_client.describe_artifact( ArtifactArn=train_data_location_artifact_arn)['Source']['SourceUri'] print(train_data_location)

    Antwort:

    s3://sagemaker-sample-data-us-east-2/mxnet/mnist/train

Einschränkungen

Sie können eine Verknüpfung zwischen beliebigen Entitäten, Experimenten und Abstammungen erstellen, mit Ausnahme der folgenden:

  • Sie können keine Assoziation zwischen zwei Experimententitäten erstellen. Experimentitäten bestehen aus Experimenten, Testversionen und Testkomponenten.

  • Sie können eine Verknüpfung mit einer anderen Assoziation erstellen.

Wenn Sie versuchen, eine bereits vorhandene Entität zu erstellen, tritt ein Fehler auf.

Maximale Anzahl von manuell erstellten Abstammungsobjekten

  • Aktionen: 3000

  • Artefakte: 6 000

  • Verbände: 6 000

  • Kontexte: 500

Die Anzahl der von Amazon SageMaker automatisch erstellten Abstammungseinheiten ist nicht begrenzt.