Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jalankan Skrip dengan Container Pemrosesan Anda Sendiri
Anda dapat menggunakan skrip scikit-learn untuk memproses data sebelumnya dan mengevaluasi model Anda. Untuk melihat cara menjalankan skrip scikit-learn untuk menjalankan tugas ini, lihat contoh buku catatan Pemrosesan scikit-learnScriptProcessor
kelas dari Amazon SageMaker Python SDK for Processing.
Contoh berikut menunjukkan alur kerja umum untuk menggunakan ScriptProcessor
kelas dengan wadah pemrosesan Anda sendiri. Alur kerja menunjukkan cara membuat gambar Anda sendiri, membangun wadah Anda, dan menggunakan ScriptProcessor
kelas untuk menjalankan skrip preprocessing Python dengan container. Pekerjaan pemrosesan memproses data input Anda dan menyimpan data yang diproses di Amazon Simple Storage Service (Amazon S3).
Sebelum menggunakan contoh berikut, Anda harus memiliki data input Anda sendiri dan skrip Python yang disiapkan untuk memproses data Anda. Untuk contoh yang end-to-end dipandu dari proses ini, lihat kembali ke buku catatan sampel Pemrosesan scikit-learn
-
Buat direktori Docker dan tambahkan Dockerfile yang digunakan untuk membuat wadah pemrosesan. Instal panda dan scikit-pelajari ke dalamnya. (Anda juga dapat menginstal dependensi Anda sendiri dengan
RUN
perintah serupa.)mkdir docker %%writefile docker/Dockerfile FROM python:3.7-slim-buster RUN pip3 install pandas==0.25.3 scikit-learn==0.21.3 ENV PYTHONUNBUFFERED=TRUE ENTRYPOINT ["python3"]
-
Buat wadah menggunakan perintah docker, buat repositori Amazon Elastic Container Registry (Amazon ECR), dan dorong gambar ke Amazon ECR.
import boto3 account_id = boto3.client('sts').get_caller_identity().get('Account') region = boto3.Session().region_name ecr_repository = 'sagemaker-processing-container' tag = ':latest' processing_repository_uri = '{}.dkr.ecr.{}.amazonaws.com/{}'.format(account_id, region, ecr_repository + tag) # Create ECR repository and push docker image !docker build -t $ecr_repository docker !aws ecr get-login-password --region {region} | docker login --username AWS --password-stdin {account_id}.dkr.ecr.{region}.amazonaws.com !aws ecr create-repository --repository-name $ecr_repository !docker tag {ecr_repository + tag} $processing_repository_uri !docker push $processing_repository_uri
-
Siapkan
ScriptProcessor
dari SDK SageMaker Python untuk menjalankan skrip. Gantiimage_uri dengan URI
untuk gambar yang Anda buat, dan gantirole_arn dengan ARN
untuk peran yang memiliki akses ke bucket Amazon AWS Identity and Access Management S3 target Anda.from sagemaker.processing import ScriptProcessor, ProcessingInput, ProcessingOutput script_processor = ScriptProcessor(command=['python3'], image_uri='
image_uri
', role='role_arn
', instance_count=1, instance_type='ml.m5.xlarge') -
Jalankan penulisan. Ganti
preprocessing.py
dengan nama skrip pemrosesan Python Anda sendiri, dan gantis3://path/to/my/input-data.csv
dengan jalur Amazon S3 ke data input Anda.script_processor.run(code='
preprocessing.py
', inputs=[ProcessingInput( source='s3://path/to/my/input-data.csv
', destination='/opt/ml/processing/input')], outputs=[ProcessingOutput(source='/opt/ml/processing/output/train'), ProcessingOutput(source='/opt/ml/processing/output/validation'), ProcessingOutput(source='/opt/ml/processing/output/test')])
Anda dapat menggunakan prosedur yang sama dengan pustaka atau dependensi sistem lainnya. Anda juga dapat menggunakan gambar Docker yang ada. Ini termasuk gambar yang Anda jalankan di platform lain seperti Kubernetes