Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Men-deploy model ke Amazon EC2
Untuk mendapatkan prediksi, terapkan model Anda ke Amazon menggunakan EC2 Amazon SageMaker AI.
Topik
Menyebarkan Model ke Layanan Hosting SageMaker AI
Untuk meng-host model melalui Amazon EC2 menggunakan Amazon SageMaker AI, terapkan model yang Anda latih Buat dan Jalankan Training Job dengan memanggil deploy metode xgb_model estimator. Ketika Anda memanggil deploy metode ini, Anda harus menentukan jumlah dan jenis instance EC2 HTML yang ingin Anda gunakan untuk hosting endpoint.
import sagemaker from sagemaker.serializers import CSVSerializer xgb_predictor=xgb_model.deploy( initial_instance_count=1, instance_type='ml.t2.medium', serializer=CSVSerializer() )
-
initial_instance_count(int) — Jumlah instance untuk menyebarkan model. -
instance_type(str) - Jenis instance yang ingin Anda operasikan model yang Anda gunakan. -
serializer(int) - Serialisasi data input dari berbagai format ( NumPy array, daftar, file, atau buffer) ke string berformat CSV. Kami menggunakan ini karena XGBoost algoritma menerima file input dalam format CSV.
deployMetode ini membuat model yang dapat diterapkan, mengonfigurasi titik akhir layanan hosting SageMaker AI, dan meluncurkan titik akhir untuk meng-host model. Untuk informasi selengkapnya, lihat metode kelas penerapan Estimator generik SageMaker AIdeploy metode, jalankan kode berikut:
xgb_predictor.endpoint_name
Ini harus mengembalikan nama titik akhir dari. xgb_predictor Format nama endpoint adalah"sagemaker-xgboost-YYYY-MM-DD-HH-MM-SS-SSS". Endpoint ini tetap aktif dalam instance ML, dan Anda dapat membuat prediksi seketika kapan saja kecuali jika Anda mematikannya nanti. Salin nama titik akhir ini dan simpan untuk digunakan kembali dan buat prediksi waktu nyata di tempat lain di instance notebook SageMaker Studio atau SageMaker AI.
Tip
Untuk mempelajari lebih lanjut tentang mengompilasi dan mengoptimalkan model Anda untuk penerapan ke EC2 instans Amazon atau perangkat edge, lihat Mengompilasi dan Menerapkan Model dengan Neo.
(Opsional) Gunakan Prediktor SageMaker AI untuk Menggunakan Kembali Titik Akhir yang Dihosting
Setelah menerapkan model ke titik akhir, Anda dapat menyiapkan prediktor SageMaker AI baru dengan memasangkan titik akhir dan terus membuat prediksi waktu nyata di notebook lain. Kode contoh berikut menunjukkan cara menggunakan kelas Prediktor SageMaker AI untuk menyiapkan objek prediktor baru menggunakan titik akhir yang sama. Gunakan kembali nama endpoint yang Anda gunakan untuk. xgb_predictor
import sagemaker xgb_predictor_reuse=sagemaker.predictor.Predictor( endpoint_name="sagemaker-xgboost-YYYY-MM-DD-HH-MM-SS-SSS", sagemaker_session=sagemaker.Session(), serializer=sagemaker.serializers.CSVSerializer() )
xgb_predictor_reusePrediktor berperilaku persis sama dengan aslinya. xgb_predictor Untuk informasi selengkapnya, lihat kelas Prediktor SageMaker AI
(Opsional) Buat Prediksi dengan Batch Transform
Alih-alih menghosting titik akhir dalam produksi, Anda dapat menjalankan pekerjaan inferensi batch satu kali untuk membuat prediksi pada kumpulan data pengujian menggunakan transformasi batch AI. SageMaker Setelah pelatihan model Anda selesai, Anda dapat memperluas estimator ke transformer objek, yang didasarkan pada kelas SageMaker AI Transformer
Untuk menjalankan pekerjaan transformasi batch
Jalankan kode berikut untuk mengonversi kolom fitur kumpulan data pengujian menjadi file CSV dan unggah ke bucket S3:
X_test.to_csv('test.csv', index=False, header=False) boto3.Session().resource('s3').Bucket(bucket).Object( os.path.join(prefix, 'test/test.csv')).upload_file('test.csv')Tentukan ember URIs S3 input dan output untuk pekerjaan transformasi batch seperti yang ditunjukkan berikut:
# The location of the test dataset batch_input = 's3://{}/{}/test'.format(bucket, prefix) # The location to store the results of the batch transform job batch_output = 's3://{}/{}/batch-prediction'.format(bucket, prefix)Buat objek transformator yang menentukan jumlah minimal parameter:
instance_countdaninstance_typeparameter untuk menjalankan pekerjaan transformasi batch, danoutput_pathuntuk menyimpan data prediksi seperti yang ditunjukkan berikut:transformer = xgb_model.transformer( instance_count=1, instance_type='ml.m4.xlarge', output_path=batch_output )Memulai pekerjaan transformasi batch dengan mengeksekusi
transform()metodetransformerobjek seperti yang ditunjukkan berikut:transformer.transform( data=batch_input, data_type='S3Prefix', content_type='text/csv', split_type='Line' ) transformer.wait()Saat pekerjaan transformasi batch selesai, SageMaker AI membuat data
test.csv.outprediksi yang disimpan dibatch_outputjalur, yang harus dalam format berikut:s3://sagemaker-<region>-111122223333/demo-sagemaker-xgboost-adult-income-prediction/batch-prediction. Jalankan yang berikut ini AWS CLI untuk mengunduh data keluaran dari pekerjaan transformasi batch:! aws s3 cp {batch_output} ./ --recursiveIni harus membuat
test.csv.outfile di bawah direktori kerja saat ini. Anda akan dapat melihat nilai float yang diprediksi berdasarkan regresi logistik dari pekerjaan pelatihan. XGBoost