PipelineStep Kelas
Mewakili langkah eksekusi dalam alur Azure Machine Learning.
Alur dibangun dari beberapa langkah alur, yang merupakan unit komputasi yang berbeda dalam alur. Setiap langkah dapat berjalan secara independen dan menggunakan sumber daya komputasi terisolasi. Setiap langkah biasanya memiliki input, output, dan parameter bernama sendiri.
Kelas PipelineStep adalah kelas dasar tempat kelas langkah bawaan lainnya dirancang untuk skenario umum yang diwarisi, seperti PythonScriptStep, DataTransferStep, dan HyperDriveStep.
Untuk gambaran umum tentang bagaimana Alur dan PipelineSteps berhubungan, lihat Apa itu Alur ML.
Inisialisasi PipelineStep.
Konstruktor
PipelineStep(name, inputs, outputs, arguments=None, fix_port_name_collisions=False, resource_inputs=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
name
Diperlukan
|
Nama langkah alur. |
|
inputs
Diperlukan
|
Daftar input langkah. |
|
outputs
Diperlukan
|
Daftar output langkah. |
|
arguments
|
Daftar argumen opsional untuk diteruskan ke skrip yang digunakan dalam langkah. Nilai default: None
|
|
fix_port_name_collisions
|
Menentukan apakah akan memperbaiki tabrakan nama. Jika True dan input dan output memiliki nama yang sama, maka input diawali dengan "INPUT". Defaultnya adalah False. Nilai default: False
|
|
resource_inputs
|
Daftar input opsional yang akan digunakan sebagai sumber daya. Sumber daya diunduh ke folder skrip dan menyediakan cara untuk mengubah perilaku skrip pada run-time. Nilai default: None
|
|
name
Diperlukan
|
Nama langkah alur. |
|
inputs
Diperlukan
|
Daftar input langkah. |
|
outputs
Diperlukan
|
Daftar output langkah. |
|
arguments
Diperlukan
|
Daftar argumen opsional untuk diteruskan ke skrip yang digunakan dalam langkah. |
|
fix_port_name_collisions
Diperlukan
|
Menentukan apakah akan memperbaiki tabrakan nama. Jika True dan input dan output memiliki nama yang sama, maka input diawali dengan "INPUT". Defaultnya adalah False. |
|
resource_inputs
Diperlukan
|
Daftar input opsional yang akan digunakan sebagai sumber daya. Sumber daya diunduh ke folder skrip dan menyediakan cara untuk mengubah perilaku skrip pada run-time. |
Keterangan
PipelineStep adalah unit eksekusi yang biasanya membutuhkan target eksekusi (target komputasi), skrip untuk dijalankan dengan argumen dan input skrip opsional, dan dapat menghasilkan output. Langkah ini juga dapat mengambil sejumlah parameter lain khusus untuk langkah tersebut.
Langkah-langkah alur dapat dikonfigurasi bersama-sama untuk membangun Pipeline, yang mewakili alur kerja Azure Machine Learning yang dapat dibagikan dan dapat digunakan kembali. Setiap langkah alur dapat dikonfigurasi untuk memungkinkan penggunaan kembali hasil eksekusi sebelumnya jika konten langkah (skrip/dependensi) serta input dan parameter tetap tidak berubah. Saat menggunakan kembali langkah tersebut, alih-alih mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera tersedia untuk langkah-langkah berikutnya.
Alur Azure Machine Learning menyediakan langkah-langkah bawaan untuk skenario umum. Misalnya, lihat steps paket dan AutoMLStep kelas . Untuk gambaran umum tentang membangun Alur berdasarkan langkah-langkah bawaan, lihat https://aka.ms/pl-first-pipeline.
Langkah-langkah bawaan yang berasal dari PipelineStep adalah langkah-langkah yang digunakan dalam satu alur. Jika Anda menggunakan panggilan alur kerja pembelajaran mesin untuk membuat langkah-langkah yang dapat di-versi dan digunakan di berbagai alur, maka gunakan Module kelas .
Ingatlah hal-hal berikut saat bekerja dengan langkah-langkah alur, data input/output, dan penggunaan kembali langkah.
Disarankan agar Anda menggunakan lokasi source_directory terpisah untuk langkah terpisah. Jika semua skrip dalam langkah alur Anda berada dalam satu direktori, hash direktori tersebut berubah setiap kali Anda membuat perubahan pada satu skrip yang memaksa semua langkah untuk dieksekusi ulang. Untuk contoh penggunaan direktori terpisah untuk langkah-langkah yang berbeda, lihat https://aka.ms/pl-get-started.
Mempertahankan folder terpisah untuk skrip dan file dependen untuk setiap langkah membantu mengurangi ukuran rekam jepret yang dibuat untuk setiap langkah karena hanya folder tertentu yang direkam jepret. Karena perubahan dalam file apa pun dalam langkah source_directory memicu pengunggahan ulang rekam jepret, mempertahankan folder terpisah setiap langkah, membantu penggunaan kembali langkah-langkah dalam alur karena jika tidak ada perubahan dalam source_directory langkah, langkah sebelumnya akan digunakan kembali.
Jika data yang digunakan dalam langkah berada di datastore dan allow_reuse True, perubahan pada perubahan data tidak akan terdeteksi. Jika data diunggah sebagai bagian dari rekam jepret (di bawah source_directory langkah), meskipun ini tidak disarankan, maka hash akan berubah dan akan memicu eksekusi ulang.
Metode
| create_input_output_bindings |
Buat pengikatan input dan output dari input dan output langkah. |
| create_module_def |
Buat objek definisi modul yang menjelaskan langkah tersebut. |
| create_node |
Buat simpul untuk grafik alur berdasarkan langkah ini. |
| get_source_directory |
Dapatkan direktori sumber untuk langkah tersebut dan periksa apakah skrip ada. |
| resolve_input_arguments |
Cocokkan input dan output ke argumen untuk menghasilkan string argumen. |
| run_after |
Jalankan langkah ini setelah langkah yang ditentukan. |
| validate_arguments |
Validasi bahwa input dan output langkah yang disediakan dalam argumen ada dalam daftar input dan output. |
create_input_output_bindings
Buat pengikatan input dan output dari input dan output langkah.
create_input_output_bindings(inputs, outputs, default_datastore, resource_inputs=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
inputs
Diperlukan
|
Daftar input langkah. |
|
outputs
Diperlukan
|
Daftar output langkah. |
|
default_datastore
Diperlukan
|
Datastore default. |
|
resource_inputs
|
Daftar input yang akan digunakan sebagai sumber daya. Sumber daya diunduh ke folder skrip dan menyediakan cara untuk mengubah perilaku skrip pada run-time. Nilai default: None
|
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Tuple pengikatan input dan pengikatan output. |
create_module_def
Buat objek definisi modul yang menjelaskan langkah tersebut.
create_module_def(execution_type, input_bindings, output_bindings, param_defs=None, create_sequencing_ports=True, allow_reuse=True, version=None, module_type=None, arguments=None, runconfig=None, cloud_settings=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
execution_type
Diperlukan
|
Jenis eksekusi modul. |
|
input_bindings
Diperlukan
|
Pengikatan input langkah. |
|
output_bindings
Diperlukan
|
Langkah pengikatan output. |
|
param_defs
|
Definisi parameter langkah. Nilai default: None
|
|
create_sequencing_ports
|
Menentukan apakah port urutan akan dibuat untuk modul. Nilai default: True
|
|
allow_reuse
|
Menentukan apakah modul akan tersedia untuk digunakan kembali dalam alur mendatang. Nilai default: True
|
|
version
|
Versi modul. Nilai default: None
|
|
module_type
|
Jenis modul untuk membuat layanan pembuatan modul. Saat ini hanya dua jenis yang didukung: 'None' dan 'BatchInferencing'.
Nilai default: None
|
|
arguments
|
Daftar argumen yang diannotasi untuk digunakan saat memanggil modul ini Nilai default: None
|
|
runconfig
|
Runconfig yang akan digunakan untuk python_script_step Nilai default: None
|
|
cloud_settings
|
<xref:azureml.pipeline.core._restclients.aeva.models.CloudSettings>
Pengaturan yang akan digunakan untuk cloud Nilai default: None
|
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Objek definisi modul. |
create_node
Buat simpul untuk grafik alur berdasarkan langkah ini.
abstract create_node(graph, default_datastore, context)
Parameter
| Nama | Deskripsi |
|---|---|
|
graph
Diperlukan
|
Grafik untuk menambahkan simpul. |
|
default_datastore
Diperlukan
|
Datastore default yang digunakan untuk langkah ini. |
|
context
Diperlukan
|
<xref:azureml.pipeline.core._GraphContext>
Objek konteks grafik. |
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Simpul yang dibuat. |
get_source_directory
Dapatkan direktori sumber untuk langkah tersebut dan periksa apakah skrip ada.
get_source_directory(context, source_directory, script_name)
Parameter
| Nama | Deskripsi |
|---|---|
|
context
Diperlukan
|
<xref:azureml.pipeline.core._GraphContext>
Objek konteks grafik. |
|
source_directory
Diperlukan
|
Direktori sumber untuk langkah tersebut. |
|
script_name
Diperlukan
|
Nama skrip untuk langkah tersebut. |
|
hash_paths
Diperlukan
|
Jalur hash yang akan digunakan saat menentukan sidik jari modul. |
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Direktori sumber dan jalur hash. |
resolve_input_arguments
Cocokkan input dan output ke argumen untuk menghasilkan string argumen.
static resolve_input_arguments(arguments, inputs, outputs, params)
Parameter
| Nama | Deskripsi |
|---|---|
|
arguments
Diperlukan
|
Daftar argumen langkah. |
|
inputs
Diperlukan
|
Daftar input langkah. |
|
outputs
Diperlukan
|
Daftar output langkah. |
|
params
Diperlukan
|
Daftar parameter langkah. |
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Mengembalikan tuple dua item. Yang pertama adalah daftar datar item untuk argumen yang diselesaikan. Yang kedua adalah daftar argumen terstruktur (_InputArgument, _OutputArgument, _ParameterArgument, dan _StringArgument) |
run_after
Jalankan langkah ini setelah langkah yang ditentukan.
run_after(step)
Parameter
| Nama | Deskripsi |
|---|---|
|
step
Diperlukan
|
Langkah alur yang akan dijalankan sebelum langkah ini. |
Keterangan
Jika Anda ingin menjalankan langkah, katakanlah, langkah3 setelah langkah1 dan langkah2 selesai, Anda dapat menggunakan:
step3.run_after(step1)
step3.run_after(step2)
validate_arguments
Validasi bahwa input dan output langkah yang disediakan dalam argumen ada dalam daftar input dan output.
static validate_arguments(arguments, inputs, outputs)
Parameter
| Nama | Deskripsi |
|---|---|
|
arguments
Diperlukan
|
Daftar argumen langkah. |
|
inputs
Diperlukan
|
Daftar input langkah. |
|
outputs
Diperlukan
|
Daftar output langkah. |