Bagikan melalui


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

command
list atau str
nilai default: None

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
str
nilai default: None

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

compute_target
DsvmCompute atau AmlCompute atau RemoteCompute atau HDInsightCompute atau str atau tuple
nilai default: None

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
ScriptRunConfig atau RunConfiguration
nilai default: None

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

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

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
list[InputPortBinding atau DataReference atau PortDataReference atau PipelineData atau <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> atau DatasetConsumptionConfig]
nilai default: None

Daftar pengikatan port input.

outputs
list[PipelineData atau OutputDatasetConfig atau PipelineOutputAbstractDataset atau OutputPortBinding]
nilai default: None

Daftar pengikatan port output.

params
dict
nilai default: None

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

source_directory
str
nilai default: None

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

allow_reuse
bool
nilai default: True

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
str
nilai default: None

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.

command
list atau str
Diperlukan

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
str
Diperlukan

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

compute_target
DsvmCompute atau AmlCompute atau RemoteCompute atau HDInsightCompute atau str atau tuple
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
ScriptRunConfig atau RunConfiguration
Diperlukan

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

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

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
list[InputPortBinding atau DataReference atau PortDataReference atau PipelineData atau <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> atau DatasetConsumptionConfig]
Diperlukan

Daftar pengikatan port input.

outputs
list[PipelineData atau OutputDatasetConfig atau PipelineOutputAbstractDataset atau OutputPortBinding]
Diperlukan

Daftar pengikatan port output.

params
dict
Diperlukan

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

source_directory
str
Diperlukan

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

allow_reuse
bool
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
str
Diperlukan

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

graph
Graph
Diperlukan

Objek grafik untuk menambahkan node.

default_datastore
AbstractAzureStorageDatastore atau AzureDataLakeDatastore
Diperlukan

Datastore default.

context
<xref:_GraphContext>
Diperlukan

Konteks grafik.

Mengembalikan

Node yang dibuat.

Tipe hasil