Bagikan melalui


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
str

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
str

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
str

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
str

Versi modul.

Nilai default: None
module_type
str

Jenis modul untuk membuat layanan pembuatan modul. Saat ini hanya dua jenis yang didukung: 'None' dan 'BatchInferencing'. module_type berbeda dari execution_type yang menentukan jenis layanan backend apa yang akan digunakan untuk menjalankan modul ini.

Nilai default: None
arguments

Daftar argumen yang diannotasi untuk digunakan saat memanggil modul ini

Nilai default: None
runconfig
str

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
str

Direktori sumber untuk langkah tersebut.

script_name
Diperlukan
str

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.