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._PythonScriptStepBaseCommandStep
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
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
Nama langkah. Jika tidak ditentukan, kata pertama dalam command
digunakan.
- compute_target
- DsvmCompute atau AmlCompute atau RemoteCompute atau HDInsightCompute atau str atau tuple
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
Objek konfigurasi opsional yang merangkum informasi yang diperlukan untuk mengirimkan eksekusi pelatihan dalam eksperimen.
- 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'
- inputs
- list[InputPortBinding atau DataReference atau PortDataReference atau PipelineData atau <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> atau DatasetConsumptionConfig]
Daftar pengikatan port input.
- outputs
- list[PipelineData atau OutputDatasetConfig atau PipelineOutputAbstractDataset atau OutputPortBinding]
Daftar pengikatan port output.
- params
- dict
Kamus pasangan nama-nilai yang terdaftar sebagai variabel lingkungan dengan "AML_PARAMETER_".
- source_directory
- str
Folder yang berisi skrip, conda env, dan sumber daya lain yang digunakan dalam langkah tersebut.
- allow_reuse
- bool
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
Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.
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.
- compute_target
- DsvmCompute atau AmlCompute atau RemoteCompute atau HDInsightCompute atau str atau tuple
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
Objek konfigurasi opsional yang merangkum informasi yang diperlukan untuk mengirimkan eksekusi pelatihan dalam eksperimen.
- 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'
- inputs
- list[InputPortBinding atau DataReference atau PortDataReference atau PipelineData atau <xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> atau DatasetConsumptionConfig]
Daftar pengikatan port input.
- outputs
- list[PipelineData atau OutputDatasetConfig atau PipelineOutputAbstractDataset atau OutputPortBinding]
Daftar pengikatan port output.
- params
- dict
Kamus pasangan nama-nilai yang terdaftar sebagai variabel lingkungan dengan "AML_PARAMETER_".
- source_directory
- str
Folder yang berisi skrip, conda env, dan sumber daya lain yang digunakan dalam langkah tersebut.
- allow_reuse
- bool
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
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
- default_datastore
- AbstractAzureStorageDatastore atau AzureDataLakeDatastore
Datastore default.
- context
- <xref:_GraphContext>
Konteks grafik.
Mengembalikan
Node yang dibuat.
Tipe hasil
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk