Gunakan Algoritma Kustom untuk Pelatihan Model dan Hosting di Amazon SageMaker dengan Apache Spark - Amazon SageMaker

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan Algoritma Kustom untuk Pelatihan Model dan Hosting di Amazon SageMaker dengan Apache Spark

DiSageMaker Spark untuk contoh Scala, Anda menggunakan kMeansSageMakerEstimator karena contoh menggunakan algoritma k-means yang disediakan oleh Amazon SageMaker untuk pelatihan model. Anda dapat memilih untuk menggunakan algoritma kustom Anda sendiri untuk pelatihan model sebagai gantinya. Dengan asumsi bahwa Anda telah membuat gambar Docker, Anda dapat membuat sendiri SageMakerEstimator dan menentukan jalur Amazon Elastic Container Registry untuk gambar kustom Anda.

Contoh berikut menunjukkan cara membuat KMeansSageMakerEstimator dariSageMakerEstimator. Di estimator baru, Anda secara eksplisit menentukan jalur registri Docker ke gambar kode pelatihan dan inferensi Anda.

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

Dalam kode, parameter dalam SageMakerEstimator konstruktor meliputi:

  • trainingImage—Mengidentifikasi jalur registri Docker ke gambar pelatihan yang berisi kode kustom Anda.

  • modelImage—Mengidentifikasi jalur registri Docker ke gambar yang berisi kode inferensi.

  • requestRowSerializercom.amazonaws.services.sagemaker.sparksdk.transformation.RequestRowSerializer—Menerapkan.

    Parameter ini membuat serial baris dalam input DataFrame untuk mengirimkannya ke model yang dihosting SageMaker untuk inferensi.

  • responseRowDeserializer—Menerapkan

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

    Parameter ini mendeserialisasi respons dari model, di-host di SageMaker, kembali ke file. DataFrame

  • trainingSparkDataFormat—Menentukan format data yang digunakan Spark saat mengunggah data pelatihan dari a ke S3. DataFrame Misalnya, "sagemaker" untuk format protobuf, untuk nilai yang dipisahkan koma, dan "csv" untuk "libsvm" format libSVM.

Anda dapat mengimplementasikan sendiri RequestRowSerializer dan ResponseRowDeserializer untuk membuat serial dan deserialisasi baris dari format data yang didukung kode inferensi Anda, seperti.libsvm atau.. csv.