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=(.*?);'} ], )