Memecahkan Masalah Pipa Amazon SageMaker - Amazon SageMaker

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

Memecahkan Masalah Pipa Amazon SageMaker

Saat menggunakan Amazon SageMaker Pipelines, Anda mungkin mengalami masalah karena berbagai alasan. Topik ini memberikan informasi tentang kesalahan umum dan cara mengatasinya.

Masalah Definisi Pipeline

Definisi pipeline Anda mungkin tidak diformat dengan benar. Hal ini dapat mengakibatkan eksekusi Anda gagal atau pekerjaan Anda menjadi tidak akurat. Kesalahan ini dapat ditangkap ketika pipeline dibuat atau ketika eksekusi terjadi. Jika definisi Anda tidak memvalidasi, Pipelines mengembalikan pesan kesalahan yang mengidentifikasi karakter di mana JSON file tersebut cacat. Untuk memperbaiki masalah ini, tinjau langkah-langkah yang dibuat menggunakan SageMaker Python SDK untuk akurasi.

Anda hanya dapat menyertakan langkah-langkah dalam definisi pipeline sekali. Karena itu, langkah-langkah tidak dapat ada sebagai bagian dari langkah kondisi dan pipa dalam pipa yang sama.

Memeriksa Log Pipa

Anda dapat melihat status langkah-langkah Anda menggunakan perintah berikut:

execution.list_steps()

Setiap langkah mencakup informasi berikut:

  • ARNEntitas yang diluncurkan oleh pipeline, seperti paket SageMaker jobARN, modelARN, atau modelARN.

  • Alasan kegagalan mencakup penjelasan singkat tentang kegagalan langkah.

  • Jika langkah adalah langkah kondisi, itu termasuk apakah kondisi dievaluasi menjadi benar atau salah. 

  • Jika eksekusi menggunakan kembali eksekusi pekerjaan sebelumnya, CacheHit daftar eksekusi sumber. 

Anda juga dapat melihat pesan kesalahan dan log di antarmuka Amazon SageMaker Studio. Untuk informasi tentang cara melihat log di Studio, lihatLihat detail proses pipeline.

Izin Hilang

Izin yang benar diperlukan untuk peran yang membuat eksekusi pipeline, dan langkah-langkah yang membuat setiap pekerjaan dalam eksekusi pipeline Anda. Tanpa izin ini, Anda mungkin tidak dapat mengirimkan eksekusi pipeline atau menjalankan SageMaker pekerjaan seperti yang diharapkan. Untuk memastikan bahwa izin Anda diatur dengan benar, lihatIAMManajemen Akses.

Kesalahan Eksekusi Job

Anda mungkin mengalami masalah saat menjalankan langkah-langkah Anda karena masalah dalam skrip yang menentukan fungsionalitas pekerjaan Anda SageMaker . Setiap pekerjaan memiliki satu set CloudWatch log. Untuk melihat log ini dari Studio, lihatLihat detail proses pipeline. Untuk informasi tentang menggunakan CloudWatch log dengan SageMaker, lihatGrup log dan aliran yang SageMaker dikirimkan Amazon ke Amazon CloudWatch Logs.

Kesalahan Berkas Properti

Anda mungkin mengalami masalah saat salah menerapkan file properti dengan pipeline Anda. Untuk memastikan bahwa implementasi file properti Anda berfungsi seperti yang diharapkan, lihatLulus Data Antar Langkah.

Masalah menyalin skrip ke wadah di Dockerfile

Anda dapat menyalin skrip ke wadah atau meneruskannya melalui entry_point argumen (entitas estimator Anda) atau code argumen (entitas prosesor Anda), seperti yang ditunjukkan dalam contoh kode berikut.

step_process = ProcessingStep( name="PreprocessAbaloneData", processor=sklearn_processor, inputs = [ ProcessingInput( input_name='dataset', source=..., destination="/opt/ml/processing/code", ) ], outputs=[ ProcessingOutput(output_name="train", source="/opt/ml/processing/train", destination = processed_data_path), ProcessingOutput(output_name="validation", source="/opt/ml/processing/validation", destination = processed_data_path), ProcessingOutput(output_name="test", source="/opt/ml/processing/test", destination = processed_data_path), ], code=os.path.join(BASE_DIR, "process.py"), ## Code is passed through an argument cache_config = cache_config, job_arguments = ['--input', 'arg1'] ) sklearn_estimator = SKLearn( entry_point=os.path.join(BASE_DIR, "train.py"), ## Code is passed through the entry_point framework_version="0.23-1", instance_type=training_instance_type, role=role, output_path=model_path, # New sagemaker_session=sagemaker_session, # New instance_count=1, # New base_job_name=f"{base_job_prefix}/pilot-train", metric_definitions=[ {'Name': 'train:accuracy', 'Regex': 'accuracy_train=(.*?);'}, {'Name': 'validation:accuracy', 'Regex': 'accuracy_validation=(.*?);'} ], )