Bagikan melalui


Pipeline Kelas

Mewakili kumpulan langkah-langkah yang dapat dijalankan sebagai alur kerja Azure Machine Learning yang dapat digunakan kembali.

Gunakan Alur untuk membuat dan mengelola alur kerja yang menggabungkan berbagai fase pembelajaran mesin. Setiap fase pembelajaran mesin, seperti persiapan data dan pelatihan model, dapat terdiri dari satu atau beberapa langkah dalam Alur.

Untuk gambaran umum mengapa dan kapan menggunakan Alur, lihat https://aka.ms/pl-concept.

Untuk gambaran umum tentang membangun Alur, lihat https://aka.ms/pl-first-pipeline.

Inisialisasi Alur.

Konstruktor

Pipeline(workspace, steps, description=None, default_datastore=None, default_source_directory=None, resolve_closure=True, _workflow_provider=None, _service_endpoint=None, **kwargs)

Parameter

Nama Deskripsi
workspace
Diperlukan

Ruang kerja untuk mengirimkan Alur.

steps
Diperlukan

Daftar langkah-langkah untuk dijalankan sebagai bagian dari Alur.

description
Diperlukan
str

Penjabaran dari Alur.

default_datastore
Diperlukan

Datastore default yang digunakan untuk koneksi data.

default_source_directory
Diperlukan
str

Direktori skrip default untuk langkah-langkah yang menjalankan skrip.

resolve_closure
Diperlukan

Apakah akan menyelesaikan penutupan atau tidak (secara otomatis membawa langkah-langkah dependen).

workspace
Diperlukan

Ruang kerja untuk mengirimkan Alur.

steps
Diperlukan

Daftar langkah-langkah untuk dijalankan sebagai bagian dari Alur.

description
Diperlukan
str

Penjabaran dari Alur.

default_datastore
Diperlukan

Datastore default yang digunakan untuk koneksi data.

default_source_directory
Diperlukan
str

Direktori skrip default untuk langkah-langkah yang menjalankan skrip.

resolve_closure
Diperlukan

Apakah menyelesaikan penutupan atau tidak (secara otomatis membawa langkah-langkah dependen).

_workflow_provider
Diperlukan
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Penyedia alur kerja, jika Tidak ada yang dibuat.

_service_endpoint
Diperlukan
str

Titik akhir layanan, jika Tidak Ada yang ditentukan menggunakan ruang kerja.

kwargs
Diperlukan

Argumen kata kunci kustom, dicadangkan untuk pengembangan di masa mendatang

Keterangan

Alur dibuat dengan daftar langkah dan ruang kerja. Ada sejumlah jenis langkah yang dapat digunakan dalam alur. Anda akan memilih jenis langkah berdasarkan skenario pembelajaran mesin Anda.

  • Alur Azure Machine Learning menyediakan langkah-langkah bawaan untuk skenario umum. Langkah-langkah bawaan yang berasal dari PipelineStep adalah langkah-langkah yang digunakan dalam satu alur. Misalnya, lihat steps paket dan AutoMLStep kelas .

  • Jika Anda menggunakan panggilan alur kerja pembelajaran mesin untuk membuat langkah-langkah yang dapat di-versi dan digunakan di berbagai alur, gunakan fungsionalitas dalam Module modul.

Kirim alur menggunakan submit. Saat pengiriman dipanggil, dibuat PipelineRun yang pada gilirannya membuat StepRun objek untuk setiap langkah dalam alur kerja. Gunakan objek ini untuk memantau eksekusi eksekusi.

Contoh untuk mengirimkan Alur adalah sebagai berikut:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline)

Ada sejumlah pengaturan opsional untuk Alur yang dapat ditentukan pada pengiriman di submit.

  • continue_on_step_failure: Apakah akan melanjutkan eksekusi alur jika langkah gagal; defaultnya adalah False. Jika True, hanya langkah-langkah yang tidak memiliki dependensi pada output langkah yang gagal yang akan melanjutkan eksekusi.

  • regenerate_outputs: Apakah akan memaksa regenerasi semua output langkah dan melarang penggunaan kembali data untuk eksekusi ini, defaultnya adalah False.

  • pipeline_parameters: Parameter untuk eksekusi alur, kamus {name: value}. Lihat PipelineParameter untuk detail selengkapnya.

  • parent_run_id: Anda dapat menyediakan id eksekusi untuk mengatur eksekusi induk eksekusi alur ini, yang tercermin dalam RunHistory. Eksekusi induk harus termasuk dalam eksperimen yang sama dengan tempat alur ini dikirimkan.

Contoh untuk mengirimkan Alur menggunakan pengaturan ini adalah sebagai berikut:


   from azureml.pipeline.core import Pipeline

   pipeline = Pipeline(workspace=ws, steps=steps)
   pipeline_run = experiment.submit(pipeline,
                                    continue_on_step_failure=True,
                                    regenerate_outputs=True,
                                    pipeline_parameters={"param1": "value1"},
                                    parent_run_id="<run_id>")

Metode

load_yaml

Muat Alur dari file YAML yang ditentukan.

File YAML dapat digunakan untuk menjelaskan Alur yang terdiri dari ModuleSteps.

publish

Terbitkan alur dan sediakan untuk menjalankan ulang.

Setelah Alur diterbitkan, alur dapat dikirimkan tanpa kode Python yang membangun Alur. Mengembalikan yang dibuat PublishedPipeline.

service_endpoint

Dapatkan titik akhir layanan yang terkait dengan alur.

submit

Kirim eksekusi alur. Ini setara dengan menggunakan submit.

Mengembalikan yang dikirimkan PipelineRun. Gunakan objek ini untuk memantau dan melihat detail eksekusi.

validate

Validasi alur dan identifikasi potensi kesalahan, seperti input yang tidak terhubung.

load_yaml

Muat Alur dari file YAML yang ditentukan.

File YAML dapat digunakan untuk menjelaskan Alur yang terdiri dari ModuleSteps.

static load_yaml(workspace, filename, _workflow_provider=None, _service_endpoint=None)

Parameter

Nama Deskripsi
workspace
Diperlukan

Ruang kerja untuk mengirimkan Alur.

filename
Diperlukan
str

File YAML yang menjelaskan Alur.

_workflow_provider
<xref:azureml.pipeline.core._aeva_provider._AevaWorkflowProvider>

Penyedia alur kerja.

Nilai default: None
_service_endpoint
str

Titik akhir layanan, jika Tidak Ada, titik akhir ditentukan menggunakan ruang kerja.

Nilai default: None

Mengembalikan

Jenis Deskripsi

Alur yang dibangun.

Keterangan

Lihat di bawah ini untuk contoh file YAML. YAML berisi nama, default_compute dan daftar parameter, referensi data, dan langkah-langkah untuk Alur. Setiap langkah harus menentukan pengikatan modul, komputasi dan parameter, input, dan output. Selain itu, runconfig langkah dan argumen dapat ditentukan jika perlu.

File Yaml sampel:


   pipeline:
       description: SamplePipelineFromYaml
       parameters:
           NumIterationsParameter:
               type: int
               default: 40
           DataPathParameter:
               type: datapath
               default:
                   datastore: workspaceblobstore
                   path_on_datastore: sample2.txt
           NodeCountParameter:
               type: int
               default: 4
       data_references:
           DataReference:
               datastore: workspaceblobstore
               path_on_datastore: testfolder/sample.txt
           Dataset:
               dataset_name: 'titanic'
       default_compute: aml-compute
       steps:
           PrepareStep:
               type:  ModuleStep
               name: "TestModule"
               compute: aml-compute2
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input1'
               -input:in1
               -'--input2'
               -input:in2
               -'--input3'
               -input:in3
               -'--output'
               -output:output_data
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS:
                       source: NumIterationsParameter
               inputs:
                   in1:
                       source: Dataset
                       bind_mode: mount
                   in2:
                       source: DataReference
                   in3:
                       source: DataPathParameter
               outputs:
                   output_data:
                       destination: Output1
                       datastore: workspaceblobstore
                       bind_mode: mount
           TrainStep:
               type: ModuleStep
               name: "TestModule2"
               version: "2"
               runconfig: 'D:\.azureml\default_runconfig.yml'
               arguments:
               -'--input'
               -input:train_input
               -'--output'
               -output:result
               -'--param'
               -parameter:NUM_ITERATIONS
               parameters:
                   NUM_ITERATIONS: 10
               runconfig_parameters:
                   NodeCount:
                       source: NodeCountParameter
               inputs:
                   train_input:
                       source: Output1
                       bind_mode: mount
               outputs:
                   result:
                       destination: Output2
                       datastore: workspaceblobstore
                       bind_mode: mount

publish

Terbitkan alur dan sediakan untuk menjalankan ulang.

Setelah Alur diterbitkan, alur dapat dikirimkan tanpa kode Python yang membangun Alur. Mengembalikan yang dibuat PublishedPipeline.

publish(name=None, description=None, version=None, continue_on_step_failure=None)

Parameter

Nama Deskripsi
name
str

Nama alur yang diterbitkan.

Nilai default: None
description
str

Deskripsi alur yang diterbitkan.

Nilai default: None
version
str

Versi alur yang diterbitkan.

Nilai default: None
continue_on_step_failure

Menunjukkan apakah akan melanjutkan eksekusi langkah lain di PipelineRun jika langkah gagal; defaultnya adalah false. Jika True, hanya langkah-langkah yang tidak memiliki dependensi pada output langkah yang gagal yang akan melanjutkan eksekusi.

Nilai default: None

Mengembalikan

Jenis Deskripsi

Membuat alur yang diterbitkan.

service_endpoint

Dapatkan titik akhir layanan yang terkait dengan alur.

service_endpoint()

Mengembalikan

Jenis Deskripsi
str

Titik akhir layanan.

submit

Kirim eksekusi alur. Ini setara dengan menggunakan submit.

Mengembalikan yang dikirimkan PipelineRun. Gunakan objek ini untuk memantau dan melihat detail eksekusi.

submit(experiment_name, pipeline_parameters=None, continue_on_step_failure=False, regenerate_outputs=False, parent_run_id=None, credential_passthrough=None, **kwargs)

Parameter

Nama Deskripsi
experiment_name
Diperlukan
str

Nama eksperimen untuk mengirimkan alur.

pipeline_parameters

Parameter untuk eksekusi alur, kamus {name: value}. Lihat PipelineParameter untuk detail selengkapnya.

Nilai default: None
continue_on_step_failure

Menunjukkan apakah akan melanjutkan eksekusi alur jika langkah gagal. Jika True, hanya langkah-langkah yang tidak memiliki dependensi pada output langkah yang gagal yang akan melanjutkan eksekusi.

Nilai default: False
regenerate_outputs

Menunjukkan apakah akan memaksa regenerasi semua output langkah dan melarang penggunaan kembali data untuk eksekusi ini. Jika False, eksekusi ini dapat menggunakan kembali hasil dari eksekusi sebelumnya dan eksekusi berikutnya dapat menggunakan kembali hasil eksekusi ini.

Nilai default: False
parent_run_id
str

ID eksekusi opsional untuk diatur untuk eksekusi induk eksekusi alur ini, yang tercermin dalam RunHistory. Eksekusi induk harus milik eksperimen yang sama dengan alur ini sedang dikirimkan.

Nilai default: None
credential_passthrough

Opsional, jika bendera ini diaktifkan, pekerjaan alur jarak jauh akan menggunakan kredensial pengguna yang memulai pekerjaan. Fitur ini hanya tersedia dalam pratinjau privat.

Nilai default: None

Mengembalikan

Jenis Deskripsi

Eksekusi alur yang dikirimkan.

validate

Validasi alur dan identifikasi potensi kesalahan, seperti input yang tidak terhubung.

validate()

Mengembalikan

Jenis Deskripsi

Daftar kesalahan dalam alur.

Keterangan

Contoh kesalahan validasi meliputi:

  • sumber data alur atau jenis langkah yang hilang atau tidak terduga

  • parameter atau definisi output yang hilang untuk sumber data atau langkah alur

  • input yang tidak tersambung

  • langkah-langkah alur yang membentuk perulangan atau siklus

Jika validasi lolos (mengembalikan daftar kosong) dan alur Anda tidak berfungsi, lihat alur Debug dan pemecahan masalah pembelajaran mesin.

Atribut

graph

Dapatkan grafik yang terkait dengan alur. Langkah-langkah dan input data muncul sebagai simpul dalam grafik.

Mengembalikan

Jenis Deskripsi

Grafiknya.