PipelineStep Kelas

Mewakili langkah eksekusi dalam alur Azure Machine Learning.

Alur dibangun dari beberapa langkah alur, yang merupakan unit komputasi berbeda di dalam alur. Setiap langkah dapat berjalan secara independen dan menggunakan sumber daya komputasi yang terisolasi. Setiap langkah biasanya memiliki input, output, dan parameternya dengan namanya sendiri.

Kelas PipelineStep adalah kelas dasar yang diwarisi kelas langkah bawaan lainnya yang dirancang untuk skenario umum, seperti PythonScriptStep, DataTransferStep, dan HyperDriveStep.

Untuk gambaran umum tentang hubungan Alur dan PipelineSteps, lihat Apa itu Alur Azure Machine Learning.

Menginisialisasi PipelineStep.

Warisan
builtins.object
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 tersebut.

nilai default: None
fix_port_name_collisions

Menentukan apakah akan memperbaiki tabrakan nama. Jika Benar input dan output memiliki nama yang sama, maka input diawali dengan "INPUT". Defaultnya adalah False.

nilai default: False
resource_inputs

Daftar input opsional untuk 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 tersebut.

fix_port_name_collisions
Diperlukan

Menentukan apakah akan memperbaiki tabrakan nama. Jika Benar input dan output memiliki nama yang sama, maka input diawali dengan "INPUT". Defaultnya adalah False.

resource_inputs
Diperlukan

Daftar input opsional untuk 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 yang spesifik untuk langkah tersebut.

Langkah alur dapat dikonfigurasi bersama untuk membuat Pipeline, yang mewakili alur kerja Azure Machine Learning yang dapat dibagikan dan digunakan kembali. Setiap langkah pada 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 untuk komputasi, hasil dari eksekusi sebelumnya segera tersedia untuk langkah selanjutnya.

Azure Machine Learning Pipelines menyediakan langkah bawaan untuk skenario umum. Misalnya, lihat paket steps dan kelas AutoMLStep. Untuk gambaran umum tentang membangun Alur berdasarkan langkah-langkah yang telah dibuat sebelumnya, lihat https://aka.ms/pl-first-pipeline.

Langkah-langkah yang telah dibuat sebelumnya, yang berasal dari PipelineStep, adalah langkah-langkah yang digunakan dalam satu alur. Jika alur kerja pembelajaran mesin Anda memerlukan pembuatan langkah-langkah untuk yang dapat diversikan dan digunakan di berbagai alur, gunakan kelas Module.

Ingatlah hal berikut saat bekerja dengan langkah-langkah alur, data I/O, dan penggunaan langkah kembali.

  • Disarankan agar Anda menggunakan lokasi source_directory terpisah untuk langkah-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 dijalankan ulang. Untuk contoh menggunakan direktori terpisah untuk langkah yang berbeda, lihat https://aka.ms/pl-get-started.

  • Mempertahankan folder terpisah untuk skrip dan file dependen untuk setiap langkah membantu mengurangi ukuran snapshot yang dibuat untuk setiap langkah karena hanya folder tertentu yang di-snapshot. Karena perubahan dalam file apa pun di source_directory langkah memicu unggahan ulang snapshot, mempertahankan folder terpisah setiap langkah, membantu penggunaan ulang langkah-langkah dalam alur, karena jika tidak ada perubahan di source_directory langkah, maka langkah sebelumnya digunakan kembali.

  • Jika data yang digunakan dalam satu langkah ada di penyimpanan data dan allow_reuse adalah True, perubahan pada perubahan data tidak akan terdeteksi. Jika data diunggah sebagai bagian dari snapshot (di bawah source_directory langkah), meskipun ini tidak disarankan, 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 node untuk grafik alur berdasarkan langkah ini.

get_source_directory

Dapatkan direktori sumber untuk langkah tersebut dan periksa apakah skrip itu ada.

resolve_input_arguments

Cocokkan input dan output dengan 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 dari 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

Pengikatan output langkah.

param_defs

Definisi parameter langkah.

nilai default: None
create_sequencing_ports

Menentukan apakah port pengurutan 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 layanan pembuatan modul yang akan dibuat. Saat ini hanya dua jenis yang didukung: 'Tidak Ada' dan 'BatchInferencing'. module_type berbeda dari execution_type yang menentukan jenis layanan backend apa yang digunakan untuk menjalankan modul ini.

nilai default: None
arguments

Daftar argumen beranotasi 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 node untuk grafik alur berdasarkan langkah ini.

abstract create_node(graph, default_datastore, context)

Parameter

Nama Deskripsi
graph
Diperlukan

Grafik untuk menambahkan node.

default_datastore
Diperlukan

Penyimpanan data default untuk digunakan pada langkah ini.

context
Diperlukan
<xref:azureml.pipeline.core._GraphContext>

Objek konteks grafik.

Mengembalikan

Jenis Deskripsi

Node yang dibuat.

get_source_directory

Dapatkan direktori sumber untuk langkah tersebut dan periksa apakah skrip itu 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 dengan 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 item datar 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 untuk dijalankan sebelum langkah ini.

Keterangan

Jika Anda ingin menjalankan langkah, misalnya, 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.