Usa algoritmi personalizzati per l'addestramento e l'hosting dei modelli su Amazon SageMaker con Apache Spark - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa algoritmi personalizzati per l'addestramento e l'hosting dei modelli su Amazon SageMaker con Apache Spark

InSageMaker Esempi di Spark per Scala, usi il kMeansSageMakerEstimator perché l'esempio utilizza l'algoritmo k-means fornito da Amazon SageMaker per l'addestramento dei modelli. Per l’addestramento del modello, puoi anche scegliere di utilizzare un algoritmo personalizzato. Presupponendo che tu abbia già creato un immagine Docker, puoi creare un oggetto SageMakerEstimator personalizzato e specificare il percorso Amazon Elastic Container Registry per l'immagine personalizzata.

Il seguente esempio mostra come creare KMeansSageMakerEstimator da SageMakerEstimator. Nel nuovo strumento di valutazione, devi specificare in modo esplicito il percorso di registro Docker per le immagini del codice di addestramento e interferenza.

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")

Nel codice, i parametri nel costruttore SageMakerEstimator includono:

  • trainingImage: individua il percorso di registro Docker dell'immagine di addestramento contente il codice personalizzato.

  • modelImage: individua il percorso di registro Docker dell'immagine contente il codice di interferenza.

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

    Questo parametro serializza le righe nell'input DataFrame per inviarle al modello ospitato su per l'inferenza. SageMaker

  • responseRowDeserializer: implementa

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

    Questo parametro deserializza le risposte dal modello, ospitato in, nuovamente in un. SageMaker DataFrame

  • trainingSparkDataFormat: specifica il formato dei dati utilizzato da Spark durante il caricamento dei dati di addestramento da un DataFrame in S3. Ad esempio, "sagemaker" per il formato protobuf, "csv" per i valori separati da virgola e "libsvm" per il formato LibSVM.

Puoi implementare valori personalizzati per RequestRowSerializer e ResponseRowDeserializer per serializzare e deserializzare le righe da un formato dei dati supportato dal codice di inferenza, come libsvm o .csv.