Configuración de la canalización - Amazon SageMaker

Configuración de la canalización

Se recomienda utilizar el archivo de configuración de SageMaker para configurar los valores predeterminados de la canalización. Para obtener más información sobre el archivo de configuración de SageMaker, consulte Configuring and using defaults with the SageMaker Python SDK. Cualquier configuración que se añada al archivo de configuración se aplica a todos los pasos de la canalización. Si quiere anular las opciones de alguno de los pasos, proporcione nuevos valores en los argumentos del decorador @step. En el siguiente tema, se describe cómo configurar un archivo de configuración.

La configuración del decorador @step en el archivo de configuración es idéntica a la configuración del decorador @remote. Para configurar el ARN del rol de canalización y las etiquetas de canalización en el archivo de configuración, use la sección Pipeline que se muestra en el siguiente fragmento:

SchemaVersion: '1.0' SageMaker: Pipeline: RoleArn: 'arn:aws:iam::555555555555:role/IMRole' Tags: - Key: 'tag_key' Value: 'tag_value'

La mayoría de los valores predeterminados que se pueden establecer en el archivo de configuración también se pueden anular pasando nuevos valores al decorador @step. Por ejemplo, puede anular el tipo de instancia establecido en el archivo de configuración para el paso de preprocesamiento, tal y como se muestra en el ejemplo siguiente:

@step(instance_type="ml.m5.large") def preprocess(raw_data): df = pandas.read_csv(raw_data) ... return procesed_dataframe

Algunos argumentos no forman parte de la lista de parámetros del decorador @step; solo se pueden configurar para toda la canalización a través del archivo de configuración de SageMaker. Son los siguientes:

  • sagemaker_session (sagemaker.session.Session): la sesión de SageMaker subyacente en la que SageMaker delega las llamadas de servicio. Si no se especifica, se crea una sesión con la siguiente configuración predeterminada:

    SageMaker: PythonSDK: Modules: Session: DefaultS3Bucket: 'default_s3_bucket' DefaultS3ObjectKeyPrefix: 'key_prefix'
  • custom_file_filter (CustomFileFilter): un objeto CustomFileFilter que especifica los directorios y archivos locales que se van a incluir en el paso de canalización. Si no se especifica, este valor se establece de forma predeterminada en None. Para que custom_file_filter se aplique, debe establecer IncludeLocalWorkdir en True. El siguiente ejemplo muestra una configuración que ignora todos los archivos del cuaderno, así como los archivos y directorios denominados data.

    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"

    Para obtener más información sobre cómo utilizar IncludeLocalWorkdir con CustomFileFilter, consulte Uso de código modular con el decorador @remote.

  • s3_root_uri (str): la carpeta raíz de Amazon S3 en la que SageMaker carga los archivos de código y los datos. Si no se especifica, se utiliza el bucket de SageMaker predeterminado.

  • s3_kms_key (str): clave utilizada para cifrar los datos de entrada y salida. Solo puede configurar este argumento en el archivo de configuración de SageMaker y el argumento se aplica a todos los pasos definidos en la canalización. Si no se especifica, el valor se establece de forma predeterminada en None. Consulte el siguiente fragmento para ver un ejemplo de la configuración de claves KMS de S3:

    SchemaVersion: '1.0' SageMaker: PythonSDK: Modules: RemoteFunction: S3KmsKeyId: 's3kmskeyid' S3RootUri: 's3://amzn-s3-demo-bucket/my-project