CommandStep Kelas

Buat langkah Alur Azure Machine Learning 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 string target komputasi di ruang kerja. Secara opsional, jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tupel ('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 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.

allow_reuse
bool
nilai default: True

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

version
str
nilai default: None

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.

Keterangan

CommandStep adalah langkah dasar bawaan untuk menjalankan perintah pada target komputasi yang diberikan. Dibutuhkan perintah sebagai parameter atau dari parameter lain seperti runconfig. CommandStep juga membutuhkan 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. Ada dua manfaat dari mengikuti praktik terbaik ini. Pertama, praktik ini membantu mengurangi ukuran snapshot yang dibuat untuk langkah tersebut karena hanya apa yang diperlukan untuk langkah tersebut yang di-snapshot. Kedua, output langkah dari eksekusi sebelumnya dapat digunakan kembali jika tidak ada perubahan pada source_directory yang akan memicu pengunggahan kembali snaphot.

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

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. Saat alur dibuat dengan langkah ini, Azure Machine Learning secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah 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. Saat alur dibuat dengan langkah ini, Azure Machine Learning secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah 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

Penyimpanan data default.

context
<xref:_GraphContext>
Diperlukan

Konteks grafik.

Mengembalikan

Node yang dibuat.

Tipe hasil