Lulus Data Antar Langkah - Amazon SageMaker

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

Lulus Data Antar Langkah

Saat membangun jaringan pipa dengan Amazon SageMaker Pipelines, Anda mungkin perlu meneruskan data dari satu langkah ke langkah berikutnya. Misalnya, Anda mungkin ingin menggunakan artefak model yang dihasilkan oleh langkah pelatihan sebagai masukan ke evaluasi model atau langkah penerapan. Anda dapat menggunakan fungsionalitas ini untuk membuat langkah pipeline yang saling bergantung dan membangun alur kerja ML Anda.

Ketika Anda perlu mengambil informasi dari output dari langkah pipa, Anda dapat menggunakannyaJsonGet. JsonGetmembantu Anda mengekstrak informasi dari Amazon S3 atau file properti. Bagian berikut menjelaskan metode yang dapat Anda gunakan untuk mengekstrak output langkah denganJsonGet.

Lulus data antar langkah dengan Amazon S3

Anda dapat menggunakan JsonGet dalam ConditionStep untuk mengambil JSON output langsung dari Amazon S3. Amazon S3 URI dapat berupa Std:Join fungsi yang berisi string primitif, variabel pipeline run, atau parameter pipeline. Contoh berikut menunjukkan bagaimana Anda dapat menggunakan JsonGet dalamConditionStep:

# Example json file in s3 bucket generated by a processing_step { "Output": [5, 10] } cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name="<step-name>", s3_uri="<s3-path-to-json>", json_path="Output[1]" ), right=6.0 )

Jika Anda menggunakan JsonGet jalur Amazon S3 di langkah kondisi, Anda harus secara eksplisit menambahkan ketergantungan antara langkah kondisi dan langkah yang menghasilkan output. JSON Dalam contoh berikut, langkah kondisi dibuat dengan ketergantungan pada langkah pemrosesan:

cond_step = ConditionStep( name="<step-name>", conditions=[cond_lte], if_steps=[fail_step], else_steps=[register_model_step], depends_on=[processing_step], )

Lulus data antar langkah dengan file properti

Gunakan file properti untuk menyimpan informasi dari output dari langkah pemrosesan. Ini sangat berguna ketika menganalisis hasil langkah pemrosesan untuk memutuskan bagaimana langkah bersyarat harus dijalankan. JsonGetFungsi memproses file properti dan memungkinkan Anda untuk menggunakan JsonPath notasi untuk query JSON file properti. Untuk informasi lebih lanjut tentang JsonPath notasi, lihat JsonPath repo.

Untuk menyimpan file properti untuk digunakan nanti, Anda harus terlebih dahulu membuat PropertyFile instance dengan format berikut. pathParameter adalah nama JSON file tempat file properti disimpan. Setiap output_name harus cocok dengan output_name ProcessingOutput yang Anda tentukan dalam langkah pemrosesan Anda. Hal ini memungkinkan file properti untuk menangkap ProcessingOutput dalam langkah.

from sagemaker.workflow.properties import PropertyFile <property_file_instance> = PropertyFile( name="<property_file_name>", output_name="<processingoutput_output_name>", path="<path_to_json_file>" )

Saat membuat ProcessingStep instance, tambahkan property_files parameter untuk mencantumkan semua file parameter yang harus diindeks oleh layanan Amazon SageMaker Pipelines. Ini menyimpan file properti untuk digunakan nanti.

property_files=[<property_file_instance>]

Untuk menggunakan file properti Anda dalam langkah kondisi, tambahkan property_file ke kondisi yang Anda teruskan ke langkah kondisi Anda seperti yang ditunjukkan pada contoh berikut untuk menanyakan JSON file untuk properti yang Anda inginkan menggunakan json_path parameter.

cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name=step_eval.name, property_file=<property_file_instance>, json_path="mse" ), right=6.0 )

Untuk contoh lebih mendalam, lihat File Properti di Amazon SageMaker Python SDK.