Konfigurieren Ihrer Pipeline
Es wird empfohlen, die SageMaker AI-Konfigurationsdatei zu verwenden, um die Standardeinstellungen für die Pipeline festzulegen. Informationen über die Konfigurationsdatei von SageMaker AI finden Sie unter Konfigurieren und Verwenden von Standardeinstellungen mit dem SageMaker Python SDK@step Decorator-Argumenten an. Das folgende Thema beschreibt, wie eine Konfigurationsdatei eingerichtet wird.
Die Konfiguration des @step Decorators in der Konfigurationsdatei ist identisch mit der Konfiguration des @remote Decorators. Verwenden Sie den Pipeline Abschnitt im folgenden Ausschnitt, um den ARN der Pipeline-Rolle und die Pipeline-Tags in der Konfigurationsdatei einzurichten:
SchemaVersion: '1.0' SageMaker: Pipeline: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' Tags: - Key: 'tag_key' Value: 'tag_value'
Die meisten Standardwerte, die Sie in der Konfigurationsdatei festlegen können, können Sie auch überschreiben, indem Sie neue Werte an den Decorator übergeben. @step Sie können beispielsweise den Instance-Typ überschreiben, den Sie in der Konfigurationsdatei für Ihren Vorverarbeitungsschritt festgelegt haben, wie im folgenden Beispiel dargestellt:
@step(instance_type="ml.m5.large") def preprocess(raw_data): df = pandas.read_csv(raw_data) ... return procesed_dataframe
Einige Argumente sind nicht Teil der @step Decorator-Parameterliste — diese können nur über die SageMaker AI-Konfigurationsdatei für die gesamte Pipeline konfiguriert werden. Sie sind wie folgt aufgeführt:
sagemaker_session(sagemaker.session.Session): Die zugrunde liegende SageMaker AI-Sitzung, an die SageMaker AI Serviceanfragen delegiert. Falls nicht angegeben, wird eine Sitzung mit einer Standardkonfiguration wie folgt erstellt:SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'custom_file_filter(CustomFileFilter): EinCustomFileFilterObjekt, das die lokalen Verzeichnisse und Dateien angibt, die in den Pipeline-Schritt aufgenommen werden sollen. Falls nicht angegeben, ist dieser Wert standardmäßig auf.Nonecustom_file_filterUm wirksam zu werden, müssen Sie auf einstellenIncludeLocalWorkdir.TrueDas folgende Beispiel zeigt eine Konfiguration, die alle Notebookdateien sowie die genanntendataDateien und Verzeichnisse ignoriert.SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: IncludeLocalWorkDir: true CustomFileFilter: IgnoreNamePatterns: # files or directories to ignore - "*.ipynb" # all notebook files - "data" # folder or file named "data"Weitere Informationen zur Verwendung von
IncludeLocalWorkdirmit finden SieCustomFileFilterunterVerwendung von modularem Code mit dem @remote Decorator.s3_root_uri (str): Der Amazon S3 S3-Stammordner, in den SageMaker AI die Codearchive und Daten hochlädt. Wenn keine Angabe erfolgt, wird der SageMaker AI-Bucket verwendet.s3_kms_key (str): Der Schlüssel, der zum Verschlüsseln der Eingabe- und Ausgabedaten verwendet wird. Sie können dieses Argument nur in der SageMaker AI-Konfigurationsdatei konfigurieren und das Argument gilt für alle in der Pipeline definierten Schritte. Wenn keine Angabe erfolgt, lautet der Standardwert.NoneIm folgenden Codeausschnitt finden Sie ein Beispiel für eine S3-KMS-Schlüsselkonfiguration:SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3KmsKeyId: 's3kmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project