CommandStep Kelas

Membuat langkah Alur Azure ML yang menjalankan perintah.

Membuat langkah Alur Azure ML yang menjalankan perintah.

Warisan
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
CommandStep

Konstruktor

CommandStep(command=None, name=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None)

Parameter

Nama Deskripsi
command
list atau str

Perintah untuk menjalankan atau membuat jalur yang dapat dijalankan/skrip relatif terhadap source_directory. Hal ini diperlukan kecuali jika disediakan dengan runconfig. Hal ini dapat ditentukan dengan argumen string dalam satu string atau dengan input/output/PipelineParameter dalam daftar.

nilai default: None
name
str

Nama langkah. Jika tidak ditentukan, kata pertama dalam command digunakan.

nilai default: None
compute_target

Target komputasi yang akan digunakan. Jika tidak ditentukan, target dari runconfig digunakan. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama untai (karakter) target komputasi di ruang kerja. Secara opsional jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tuple ('nama target komputasi', 'jenis target komputasi') untuk menghindari pengambilan objek target komputasi (jenis AmlCompute adalah 'AmlCompute' dan jenis RemoteCompute adalah 'VirtualMachine').

nilai default: None
runconfig

Objek konfigurasi opsional yang merangkum informasi yang diperlukan untuk mengirimkan eksekusi pelatihan dalam eksperimen.

nilai default: None
runconfig_pipeline_params
<xref:<xref:{str: PipelineParameter}>>

Mengganti properti runconfig saat runtime menggunakan pasangan kunci-nilai masing-masing dengan nama properti runconfig dan PipelineParameter untuk properti tersebut.

Nilai yang didukung: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

nilai default: None
inputs
list[InputPortBinding atau DataReference atau PortDataReference atau PipelineData atau <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> atau DatasetConsumptionConfig]

Daftar pengikatan port input.

nilai default: None
outputs

Daftar pengikatan port output.

nilai default: None
params

Kamus pasangan nama-nilai yang terdaftar sebagai variabel lingkungan dengan "AML_PARAMETER_".

nilai default: None
source_directory
str

Folder yang berisi skrip, conda env, dan sumber daya lain yang digunakan dalam langkah tersebut.

nilai default: None
allow_reuse

Menunjukkan apakah langkah tersebut harus menggunakan kembali hasil sebelumnya saat dijalankan lagi dengan pengaturan yang sama. Penggunaan kembali diaktifkan secara default. Jika konten langkah (skrip/dependensi) serta input dan parameter tetap tidak berubah, output dari eksekusi sebelumnya dari langkah ini digunakan ulang. Saat menggunakan ulang langkah tersebut, daripada mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera dibuat tersedia untuk langkah selanjutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan ulang ditentukan oleh apakah definisi himpunan data telah berubah, bukan oleh apakah data yang mendasarinya telah berubah.

nilai default: True
version
str

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.

nilai default: None
command
Diperlukan
list atau str

Perintah untuk menjalankan atau membuat jalur yang dapat dijalankan/skrip relatif terhadap source_directory. Hal ini diperlukan kecuali jika disediakan dengan runconfig. Hal ini dapat ditentukan dengan argumen string dalam satu string atau dengan input/output/PipelineParameter dalam daftar.

name
Diperlukan
str

Nama langkah. Jika tidak ditentukan, kata pertama dalam command digunakan.

compute_target
Diperlukan

Target komputasi yang akan digunakan. Jika tidak ditentukan, target dari runconfig digunakan. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama untai (karakter) target komputasi di ruang kerja. Secara opsional jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tuple ('nama target komputasi', 'jenis target komputasi') untuk menghindari pengambilan objek target komputasi (jenis AmlCompute adalah 'AmlCompute' dan jenis RemoteCompute adalah 'VirtualMachine').

runconfig
Diperlukan

Objek konfigurasi opsional yang merangkum informasi yang diperlukan untuk mengirimkan eksekusi pelatihan dalam eksperimen.

runconfig_pipeline_params
Diperlukan
<xref:<xref:{str: PipelineParameter}>>

Mengganti properti runconfig saat runtime menggunakan pasangan kunci-nilai masing-masing dengan nama properti runconfig dan PipelineParameter untuk properti tersebut.

Nilai yang didukung: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
Diperlukan
list[InputPortBinding atau DataReference atau PortDataReference atau PipelineData atau <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> atau DatasetConsumptionConfig]

Daftar pengikatan port input.

outputs
Diperlukan

Daftar pengikatan port output.

params
Diperlukan

Kamus pasangan nama-nilai yang terdaftar sebagai variabel lingkungan dengan "AML_PARAMETER_".

source_directory
Diperlukan
str

Folder yang berisi skrip, conda env, dan sumber daya lain yang digunakan dalam langkah tersebut.

allow_reuse
Diperlukan

Menunjukkan apakah langkah tersebut harus menggunakan kembali hasil sebelumnya saat dijalankan lagi dengan pengaturan yang sama. Penggunaan kembali diaktifkan secara default. Jika konten langkah (skrip/dependensi) serta input dan parameter tetap tidak berubah, output dari eksekusi sebelumnya dari langkah ini digunakan ulang. Saat menggunakan ulang langkah tersebut, daripada mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera dibuat tersedia untuk langkah selanjutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan ulang ditentukan oleh apakah definisi himpunan data telah berubah, bukan oleh apakah data yang mendasarinya telah berubah.

version
Diperlukan
str

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.

Keterangan

CommandStep adalah langkah dasar bawaan untuk menjalankan perintah pada target komputasi yang diberikan. CommandStep mengambil perintah sebagai parameter atau dari parameter lain seperti runconfig. CommandStep juga mengambil parameter opsional lainnya seperti target komputasi, input, dan output. Anda harus menggunakan ScriptRunConfig atau RunConfiguration untuk menentukan persyaratan untuk CommandStep, seperti gambar docker kustom.

Praktik terbaik untuk bekerja dengan CommandStep adalah menggunakan folder terpisah untuk eksekusi atau skrip guna menjalankan file dependen yang terkait dengan langkah tersebut, dan menentukan folder tersebut dengan parameter source_directory. Mengikuti praktik terbaik ini memiliki dua keuntungan. Pertama, ini membantu mengurangi ukuran snapshot yang dibuat untuk langkah tersebut karena yang perlu dilakukan hanyalah melakukan snapshot. Kedua, output langkah dari eksekusi sebelumnya dapat digunakan kembali jika tidak ada perubahan pada source_directory yang akan memicu unggahan ulang snapshot.

Untuk perintah yang dikenal sistem, source_directory tidak diperlukan tetapi Anda masih dapat menyediakannya dengan file dependen apa pun yang terkait dengan langkah tersebut.

Contoh kode berikut menunjukkan cara menggunakan CommandStep dalam skenario pelatihan pembelajaran mesin. Untuk mencantumkan file di linux:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='list step',
                           command='ls -lrt',
                           compute_target=compute_target)

Untuk menjalankan skrip python:


   from azureml.pipeline.steps import CommandStep

   trainStep = CommandStep(name='train step',
                           command='python train.py arg1 arg2',
                           source_directory=project_folder,
                           compute_target=compute_target)

Untuk menjalankan skrip python melalui ScriptRunConfig:


   from azureml.core import ScriptRunConfig
   from azureml.pipeline.steps import CommandStep

   train_src = ScriptRunConfig(source_directory=script_folder,
                               command='python train.py arg1 arg2',
                               environment=my_env)
   trainStep = CommandStep(name='train step',
                           runconfig=train_src)

Lihat https://aka.ms/pl-first-pipeline untuk detail selengkapnya tentang membuat alur secara umum.

Metode

create_node

Buat node untuk CommandStep dan tambahkan ke grafik yang ditentukan.

Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur dibuat dengan langkah ini, Azure Machine Learning secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah tersebut dapat ditambahkan ke grafik alur yang mewakili alur kerja.

create_node

Buat node untuk CommandStep dan tambahkan ke grafik yang ditentukan.

Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur dibuat dengan langkah ini, Azure Machine Learning secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah tersebut dapat ditambahkan ke grafik alur yang mewakili alur kerja.

create_node(graph, default_datastore, context)

Parameter

Nama Deskripsi
graph
Diperlukan

Objek grafik untuk menambahkan node.

default_datastore
Diperlukan

Datastore default.

context
Diperlukan
<xref:_GraphContext>

Konteks grafik.

Mengembalikan

Jenis Deskripsi

Node yang dibuat.