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