Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Terapkan model ke Amazon EC2
Untuk mendapatkan prediksi, terapkan model Anda ke Amazon EC2 menggunakan SageMaker Amazon AI.
Topik
Menyebarkan Model ke Layanan Hosting SageMaker AI
Untuk meng-host model melalui Amazon EC2 menggunakan Amazon SageMaker AI, gunakan model yang Anda latih. Membuat dan Menjalankan Training Job
Gunakan ModelBuilder kelas untuk membangun dan menerapkan model Anda. ModelBuildermendukung rantai sumber daya, sehingga Anda dapat meneruskan pelatihan secara ModelTrainer langsung untuk membangun dan menerapkan model Anda.
from sagemaker.serve import ModelBuilder # Build and deploy using resource chaining from the trained model model_builder = ModelBuilder( model=xgb_model_trainer, role_arn=role, instance_type='ml.t2.medium' ) # Build creates a SageMaker Model resource model = model_builder.build() # Deploy creates a SageMaker Endpoint resource endpoint = model_builder.deploy(endpoint_name="xgboost-endpoint")
-
modelModelTrainerObjek yang terlatihModelBuildersecara otomatis merantai output pelatihan ke penerapan. -
instance_type(str) - Jenis instance yang ingin Anda operasikan model yang Anda gunakan.
build()Metode ini membuat sumber daya Model SageMaker AI, dan deploy() menciptakan sumber daya SageMaker AI Endpoint. Untuk informasi selengkapnya, lihat SageMaker AI ModelBuilder
endpoint.endpoint_name
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 instans Amazon EC2 atau perangkat edge, lihat Mengompilasi dan Menerapkan Model dengan Neo.
(Opsional) Menggunakan Kembali atau Memanggil Titik Akhir yang Ada
Setelah menerapkan model ke titik akhir, Anda dapat memanggilnya dari notebook atau aplikasi lain menggunakan Endpoint kelas dari sagemaker-core. Kode contoh berikut menunjukkan cara mendapatkan titik akhir yang ada dan membuat prediksi. Re-use nama titik akhir dari langkah penerapan di atas.
from sagemaker.core.resources import Endpoint endpoint = Endpoint.get(endpoint_name="xgboost-endpoint") # Make a prediction response = endpoint.invoke( body=test_data, content_type="text/csv" ) result = response.body.read().decode('utf-8')
(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 selesai, Anda dapat menggunakan transformator batch untuk membaca data input dari bucket S3 tertentu dan membuat prediksi.
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 URI bucket S3 dari 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 dan jalankan pekerjaan transformasi batch.
# Build a model from the trained ModelTrainer model_builder = ModelBuilder(model=xgb_model_trainer, role_arn=role) model = model_builder.build(model_name="xgboost-batch-model") # Create and run the batch transform job from sagemaker.core.resources import TransformJob transform_job = TransformJob.create( model_name=model.model_name, transform_input={ "data_source": { "s3_data_source": { "s3_data_type": "S3Prefix", "s3_uri": batch_input } }, "content_type": "text/csv", "split_type": "Line" }, transform_output={ "s3_output_path": batch_output }, transform_resources={ "instance_type": "ml.m4.xlarge", "instance_count": 1 } ) transform_job.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.