Ejecución de un trabajo de procesamiento con scikit-learn - Amazon SageMaker

Ejecución de un trabajo de procesamiento con scikit-learn

Puede utilizar la característica Procesamiento de Amazon SageMaker para procesar datos y evaluar modelos con scripts scikit-learn en una imagen de Docker proporcionada por Amazon SageMaker. A continuación se proporciona un ejemplo de cómo ejecutar un trabajo de Procesamiento de Amazon SageMaker mediante scikit-learn.

Para ver un cuaderno de muestras con ejemplos de cómo ejecutar scripts scikit-learn utilizando una imagen de Docker que proporciona y mantiene SageMaker para preprocesar datos y evaluar modelos, consulte Procesamiento de scikit-learn. Para usar este cuaderno, debe instalar el SDK de SageMaker Python para procesamiento.

Este cuaderno ejecuta un trabajo de procesamiento utilizando la clase SKLearnProcessor del SDK de SageMaker Python para ejecutar un guión scikit-learn que proporcione usted. El guión preprocesa los datos, entrena un modelo mediante un trabajo de entrenamiento de SageMaker y, a continuación, ejecuta un trabajo de procesamiento para evaluar el modelo formado. El trabajo de procesamiento calcula cómo se espera que será el rendimiento del modelo en producción.

Para obtener más información sobre el uso del SDK de SageMaker Python con contenedores de procesamiento, consulte el SDK de SageMaker Python. Para obtener una lista completa de las imágenes de Docker prediseñadas disponibles para los trabajos de procesamiento, consulte las rutas de registro de Docker y el código de ejemplo.

El siguiente ejemplo de código muestra cómo el bloc de notas utiliza SKLearnProcessor para ejecutar su propio guión scikit-learn utilizando una imagen de Docker que proporciona y mantiene SageMaker, en lugar de su propia imagen de Docker.

from sagemaker.sklearn.processing import SKLearnProcessor from sagemaker.processing import ProcessingInput, ProcessingOutput sklearn_processor = SKLearnProcessor(framework_version='0.20.0', role=role, instance_type='ml.m5.xlarge', instance_count=1) sklearn_processor.run(code='preprocessing.py', inputs=[ProcessingInput( source='s3://path/to/my/input-data.csv', destination='/opt/ml/processing/input')], outputs=[ProcessingOutput(source='/opt/ml/processing/output/train'), ProcessingOutput(source='/opt/ml/processing/output/validation'), ProcessingOutput(source='/opt/ml/processing/output/test')] )

Para procesar datos en paralelo con Scikit-Learn en Procesamiento de Amazon SageMaker, puede fragmentar objetos de entrada mediante la clave S3 configurando s3_data_distribution_type='ShardedByS3Key' dentro de un ProcessingInput para que cada instancia reciba aproximadamente el mismo número de objetos de entrada.