Bagaimana Amazon SageMaker Processing Menjalankan Gambar Kontainer Pemrosesan Anda - Amazon SageMaker AI

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

Bagaimana Amazon SageMaker Processing Menjalankan Gambar Kontainer Pemrosesan Anda

Amazon SageMaker Processing menjalankan image container pemrosesan Anda dengan cara yang sama seperti perintah berikut, di mana AppSpecification.ImageUri URI image Amazon ECR yang Anda tentukan dalam suatu CreateProcessingJob operasi.

docker run [AppSpecification.ImageUri]

Perintah ini menjalankan ENTRYPOINT perintah yang dikonfigurasi dalam image Docker Anda.

Anda juga dapat mengganti perintah entrypoint dalam gambar atau memberikan argumen baris perintah ke perintah entrypoint Anda menggunakan parameter and dalam permintaan Anda. AppSpecification.ContainerEntrypoint AppSpecification.ContainerArgument CreateProcessingJob Menentukan parameter ini akan mengonfigurasi Amazon SageMaker Processing untuk menjalankan container yang mirip dengan cara perintah berikut.

docker run --entry-point [AppSpecification.ContainerEntrypoint] [AppSpecification.ImageUri] [AppSpecification.ContainerArguments]

Misalnya, jika Anda menentukan ContainerEntrypoint untuk berada [python3, -v, /processing_script.py] dalam CreateProcessingJob permintaan Anda, dan ContainerArguments menjadi[data-format, csv], Amazon SageMaker Processing menjalankan container Anda dengan perintah berikut.

python3 -v /processing_script.py data-format csv

Saat membangun wadah pemrosesan Anda, pertimbangkan detail berikut:

  • Amazon SageMaker Processing memutuskan apakah pekerjaan selesai atau gagal tergantung pada kode keluar dari perintah yang dijalankan. Pekerjaan pemrosesan selesai jika semua kontainer pemrosesan berhasil keluar dengan kode keluar 0, dan gagal jika salah satu kontainer keluar dengan kode keluar bukan nol.

  • Amazon SageMaker Processing memungkinkan Anda mengganti titik masuk container pemrosesan dan menyetel argumen baris perintah seperti yang Anda bisa dengan Docker API. Gambar Docker juga dapat mengonfigurasi titik masuk dan argumen baris perintah menggunakan instruksi dan CMD. ENTRYPOINT Cara CreateProcessingJob ContainerEntrypoint dan ContainerArgument parameter mengonfigurasi titik masuk gambar Docker dan argumen mencerminkan bagaimana Docker mengganti titik masuk dan argumen melalui Docker API:

    • Jika tidak ada ContainerEntrypoint atau ContainerArguments disediakan, Processing menggunakan default ENTRYPOINT atau CMD dalam gambar.

    • Jika ContainerEntrypoint disediakan, tetapi tidakContainerArguments, Processing menjalankan gambar dengan entrypoint yang diberikan, dan mengabaikan ENTRYPOINT dan CMD dalam gambar.

    • Jika ContainerArguments disediakan, tetapi tidakContainerEntrypoint, Processing menjalankan gambar dengan default ENTRYPOINT pada gambar dan dengan argumen yang disediakan.

    • Jika keduanya ContainerEntrypoint dan ContainerArguments disediakan, Processing menjalankan gambar dengan entrypoint dan argumen yang diberikan, dan mengabaikan ENTRYPOINT dan CMD dalam gambar.

  • Anda harus menggunakan formulir exec dari ENTRYPOINT instruksi di Dockerfile Anda (ENTRYPOINT["executable", "param1", "param2"])bukan formulir shell (). ENTRYPOINT command param1 param2 Ini memungkinkan container pemrosesan Anda menerima SIGINT dan SIGKILL memberi sinyal, yang digunakan Processing untuk menghentikan pemrosesan pekerjaan dengan StopProcessingJob API.

  • /opt/mldan semua subdirektorinya dicadangkan oleh SageMaker AI. Saat membuat image Processing Docker Anda, jangan letakkan data apa pun yang diperlukan oleh container pemrosesan Anda di direktori ini.

  • Jika Anda berencana untuk menggunakan perangkat GPU, pastikan container Anda kompatibel dengan nvidia-docker. Sertakan hanya toolkit CUDA dalam wadah. Jangan bundel driver NVIDIA dengan gambar. Untuk informasi selengkapnya tentang nvidia-docker, lihat nvidia/nvidia-docker.