Usa algoritmos personalizados para el entrenamiento y el alojamiento de modelos en Amazon SageMaker con Apache Spark - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usa algoritmos personalizados para el entrenamiento y el alojamiento de modelos en Amazon SageMaker con Apache Spark

EnSageMaker Ejemplos de Spark for Scala, se utiliza kMeansSageMakerEstimator porque en el ejemplo se utiliza el algoritmo k-means proporcionado por Amazon SageMaker para el entrenamiento de modelos. Puede optar por usar su propio algoritmo personalizado para la capacitación de modelos en su lugar. Suponiendo que ya haya creado una imagen de Docker, puede crear su propio SageMakerEstimator y especificar la ruta de Amazon Elastic Container Registry para su imagen personalizada.

En el siguiente ejemplo se muestra cómo crear un nuevo KMeansSageMakerEstimator desde SageMakerEstimator. En el nuevo estimador, especifique de forma explícita la ruta de registro de Docker en las imágenes de código de inferencia y capacitación.

import com.amazonaws.services.sagemaker.sparksdk.IAMRole import com.amazonaws.services.sagemaker.sparksdk.SageMakerEstimator import com.amazonaws.services.sagemaker.sparksdk.transformation.serializers.ProtobufRequestRowSerializer import com.amazonaws.services.sagemaker.sparksdk.transformation.deserializers.KMeansProtobufResponseRowDeserializer val estimator = new SageMakerEstimator( trainingImage = "811284229777.dkr.ecr.us-east-1.amazonaws.com/kmeans:1", modelImage = "811284229777.dkr.ecr.us-east-1.amazonaws.com/kmeans:1", requestRowSerializer = new ProtobufRequestRowSerializer(), responseRowDeserializer = new KMeansProtobufResponseRowDeserializer(), hyperParameters = Map("k" -> "10", "feature_dim" -> "784"), sagemakerRole = IAMRole(roleArn), trainingInstanceType = "ml.p2.xlarge", trainingInstanceCount = 1, endpointInstanceType = "ml.c4.xlarge", endpointInitialInstanceCount = 1, trainingSparkDataFormat = "sagemaker")

En el código, los parámetros del constructor SageMakerEstimator incluyen:

  • trainingImage: identifica la ruta de registro de Docker en la imagen de entrenamiento que contiene el código personalizado.

  • modelImage: identifica la ruta de registro de Docker en la imagen que contiene el código de inferencia.

  • requestRowSerializer: implementa com.amazonaws.services.sagemaker.sparksdk.transformation.RequestRowSerializer.

    Este parámetro serializa las filas de la entrada DataFrame para enviarlas al modelo hospedado SageMaker para su inferencia.

  • responseRowDeserializer: implementa

    com.amazonaws.services.sagemaker.sparksdk.transformation.ResponseRowDeserializer.

    Este parámetro deserializa las respuestas del modelo, alojadas en, y devuelven a convertirlas en SageMaker un. DataFrame

  • trainingSparkDataFormat: especifica el formato de datos que utiliza Spark cuando se cargan datos de entrenamiento desde DataFrame a S3. Por ejemplo, "sagemaker" para el formato protobuf, para valores separados "csv" por comas y para el formato Lib. "libsvm" SVM

Puede implementar su propio RequestRowSerializer y ResponseRowDeserializer para serializar y deserializar filas desde un formato de datos que admite su código de inferencia, como .libsvm o .csv.