Konfigurationsdatei - 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.

Konfigurationsdatei

Das Amazon SageMaker Python SDK unterstützt die Einstellung von Standardwerten für primitive AWS Infrastrukturtypen. Nachdem Administratoren diese Standardeinstellungen konfiguriert haben, werden sie automatisch übergeben, wenn das SageMaker Python-SDK unterstützte APIs aufruft. Die Argumente für die Decorator-Funktion können in Konfigurationsdateien eingefügt werden. Auf diese Weise können Sie Einstellungen, die sich auf die Infrastruktur beziehen, von der Codebasis trennen. Weitere Hinweise zu Parametern und Argumenten für die Remote-Funktion und Methoden finden Sie unter Angabe von Remote-Funktionsklassen und -methoden.

Die Infrastruktureinstellungen für die Netzwerkkonfiguration, die IAM-Rollen, den Amazon S3-Ordner für Eingabe- und Ausgabedaten und Tags können Sie in der Konfigurationsdatei festlegen. Die Konfigurationsdatei kann verwendet werden, wenn eine Funktion entweder mit dem @remote Decorator oder der RemoteExecutor API aufgerufen wird.

Es folgt eine Beispielkonfigurationsdatei, die die Abhängigkeiten, Ressourcen und sonstigen Argumente definiert. Diese Beispielkonfigurationsdatei wird verwendet, um eine Funktion aufzurufen, die entweder mit dem @remote -Dekorator oder der API initiiert wird. RemoteExecutor

SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: Dependencies: 'path/to/requirements.txt' EnableInterContainerTrafficEncryption: true EnvironmentVariables: {'EnvVarKey': 'EnvVarValue'} ImageUri: '366666666666.dkr.ecr.us-west-2.amazonaws.com/my-image:latest' IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: - "*.ipynb" - "data" InstanceType: 'ml.m5.large' JobCondaEnvironment: 'your_conda_env' PreExecutionCommands: - 'command_1' - 'command_2' PreExecutionScript: 'path/to/script.sh' RoleArn: 'arn:aws:iam::366666666666:role/MyRole' S3KmsKeyId: 'yourkmskeyid' S3RootUri: 's3://my-bucket/my-project' VpcConfig: SecurityGroupIds: - 'sg123' Subnets: - 'subnet-1234' Tags: [{'Key': 'yourTagKey', 'Value':'yourTagValue'}] VolumeKmsKeyId: 'yourkmskeyid'

Der @remote Decorator und RemoteExecutor suchen Dependencies in den folgenden Konfigurationsdateien:

  • Eine vom Administrator festgelegte Konfigurationsdatei.

  • Eine benutzerdefinierte Konfigurationsdatei.

Die Standardspeicherorte für diese Konfigurationsdateien hängen von Ihrer Umgebung ab und sind relativ dazu. Der folgende Beispielcode gibt den Standardspeicherort Ihrer Admin- und Benutzerkonfigurationsdateien zurück. Diese Befehle müssen in derselben Umgebung ausgeführt werden, in der Sie das SageMaker Python-SDK verwenden.

import os from platformdirs import site_config_dir, user_config_dir #Prints the location of the admin config file print(os.path.join(site_config_dir("sagemaker"), "config.yaml")) #Prints the location of the user config file print(os.path.join(user_config_dir("sagemaker"), "config.yaml"))

Sie können die Standardspeicherorte dieser Dateien umgehen, indem Sie die Umgebungsvariablen SAGEMAKER_ADMIN_CONFIG_OVERRIDE und SAGEMAKER_USER_CONFIG_OVERRIDE für die vom Administrator definierten bzw. benutzerdefinierten Konfigurationsdateipfade festlegen.

Wenn ein Schlüssel sowohl in der vom Admin definierten als auch in der benutzerdefinierten Konfigurationsdatei vorhanden ist, wird der Wert in der benutzerdefinierten Datei verwendet.