CommandStep Sınıf
Komut çalıştıran bir Azure ML İşlem Hattı adımı oluşturun.
Komut çalıştıran bir Azure ML İşlem Hattı adımı oluşturun.
- Devralma
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBaseCommandStep
Oluşturucu
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)
Parametreler
Name | Description |
---|---|
command
|
yürütülebilir dosyanın/betiğin çalıştırılacak komutu veya yolu ile ilgili olarak Default value: None
|
name
|
Adımın adı. Belirtilmezse içindeki ilk sözcük Default value: None
|
compute_target
|
Kullanılacak işlem hedefi. Belirtilmezse, hedeften Default value: None
|
runconfig
|
Denemede eğitim çalıştırması göndermek için gereken bilgileri kapsülleyen isteğe bağlı yapılandırma nesnesi. Default value: None
|
runconfig_pipeline_params
|
<xref:<xref:{str: PipelineParameter}>>
Anahtar-değer kullanan çalışma zamanında runconfig özelliklerinin geçersiz kılmaları, her birini runconfig özelliğinin adıyla ve bu özellik için PipelineParameter ile eşler. Desteklenen değerler: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' Default value: None
|
inputs
|
list[InputPortBinding veya
DataReference veya
PortDataReference veya
PipelineData veya
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> veya
DatasetConsumptionConfig]
Giriş bağlantı noktası bağlamalarının listesi. Default value: None
|
outputs
|
list[PipelineData veya
OutputDatasetConfig veya
PipelineOutputAbstractDataset veya
OutputPortBinding]
Çıkış bağlantı noktası bağlamalarının listesi. Default value: None
|
params
|
"AML_PARAMETER_" ile ortam değişkenleri olarak kaydedilen ad-değer çiftlerinin sözlüğü. Default value: None
|
source_directory
|
Betikler, conda env ve adımda kullanılan diğer kaynakları içeren bir klasör. Default value: None
|
allow_reuse
|
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullanma varsayılan olarak etkindir. Adım içeriği (betikler/bağımlılıklar) ve girişler ve parametreler değişmeden kalırsa, bu adımın önceki çalıştırmasından elde edilen çıkış yeniden kullanılır. Adımı yeniden kullanırken, işi işlem için göndermek yerine, önceki çalıştırmanın sonuçları hemen sonraki adımlarda kullanılabilir hale gelir. Giriş olarak Azure Machine Learning veri kümelerini kullanıyorsanız, yeniden kullanım, temel alınan verilerin değişip değişmediğine göre değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir. Default value: True
|
version
|
Adıma yönelik işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi. Default value: None
|
command
Gerekli
|
yürütülebilir dosyanın/betiğin çalıştırılacak komutu veya yolu ile ilgili olarak |
name
Gerekli
|
Adımın adı. Belirtilmezse içindeki ilk sözcük |
compute_target
Gerekli
|
Kullanılacak işlem hedefi. Belirtilmezse, hedeften |
runconfig
Gerekli
|
Denemede eğitim çalıştırması göndermek için gereken bilgileri kapsülleyen isteğe bağlı yapılandırma nesnesi. |
runconfig_pipeline_params
Gerekli
|
<xref:<xref:{str: PipelineParameter}>>
Anahtar-değer kullanan çalışma zamanında runconfig özelliklerinin geçersiz kılmaları, her birini runconfig özelliğinin adıyla ve bu özellik için PipelineParameter ile eşler. Desteklenen değerler: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
inputs
Gerekli
|
list[InputPortBinding veya
DataReference veya
PortDataReference veya
PipelineData veya
<xref:azureml.pipeline.core.pipeline_output_dataset.PipelineOutputDataset> veya
DatasetConsumptionConfig]
Giriş bağlantı noktası bağlamalarının listesi. |
outputs
Gerekli
|
list[PipelineData veya
OutputDatasetConfig veya
PipelineOutputAbstractDataset veya
OutputPortBinding]
Çıkış bağlantı noktası bağlamalarının listesi. |
params
Gerekli
|
"AML_PARAMETER_" ile ortam değişkenleri olarak kaydedilen ad-değer çiftlerinin sözlüğü. |
source_directory
Gerekli
|
Betikler, conda env ve adımda kullanılan diğer kaynakları içeren bir klasör. |
allow_reuse
Gerekli
|
Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullanma varsayılan olarak etkindir. Adım içeriği (betikler/bağımlılıklar) ve girişler ve parametreler değişmeden kalırsa, bu adımın önceki çalıştırmasından elde edilen çıkış yeniden kullanılır. Adımı yeniden kullanırken, işi işlem için göndermek yerine, önceki çalıştırmanın sonuçları hemen sonraki adımlarda kullanılabilir hale gelir. Giriş olarak Azure Machine Learning veri kümelerini kullanıyorsanız, yeniden kullanım, temel alınan verilerin değişip değişmediğine göre değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir. |
version
Gerekli
|
Adıma yönelik işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi. |
Açıklamalar
CommandStep, verilen işlem hedefinde bir komut çalıştırmak için temel, yerleşik bir adımdır. Bir komutu parametre olarak veya runconfig gibi diğer parametrelerden alır. Ayrıca işlem hedefi, girişler ve çıkışlar gibi diğer isteğe bağlı parametreleri de alır. Özel docker görüntüsü gibi CommandStep gereksinimlerini belirtmek için veya ScriptRunConfigRunConfiguration kullanmalısınız.
CommandStep ile çalışmak için en iyi yöntem, adımla ilişkili bağımlı dosyaları çalıştırmak için yürütülebilir dosya veya betik için ayrı bir klasör kullanmak ve bu klasörü parametresiyle source_directory
belirtmektir. Bu en iyi uygulamanın iki avantajı vardır. İlk olarak, yalnızca adım için gerekenler anlık görüntülendiğinden, adım için oluşturulan anlık görüntünün boyutunu azaltmaya yardımcı olur.
İkinci olarak, adımın önceki çalıştırmadan elde edilen çıkışı, anlık görüntünün yeniden yüklenmesini source_directory
tetikleyecek bir değişiklik yapılmazsa yeniden kullanılabilir.
Sistem tarafından bilinen komutlar source_directory
gerekli değildir, ancak yine de adımla ilişkili bağımlı dosyaları sağlayabilirsiniz.
Aşağıdaki kod örneği, bir makine öğrenmesi eğitim senaryosunda CommandStep'in nasıl kullanılacağını gösterir. Linux'ta dosyaları listelemek için:
from azureml.pipeline.steps import CommandStep
trainStep = CommandStep(name='list step',
command='ls -lrt',
compute_target=compute_target)
Python betiği çalıştırmak için:
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)
ScriptRunConfig aracılığıyla python betiği çalıştırmak için:
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)
Genel olarak işlem hattı oluşturma hakkında daha fazla bilgi için bkz https://aka.ms/pl-first-pipeline .
Yöntemler
create_node |
CommandStep için bir düğüm oluşturun ve bunu belirtilen grafiğe ekleyin. Bu yöntem doğrudan kullanılmak üzere tasarlanmamıştır. Bu adımla bir işlem hattı örneği oluşturulduğunda, Azure ML bu yöntem aracılığıyla gerekli parametreleri otomatik olarak geçirir, böylece adım iş akışını temsil eden bir işlem hattı grafiğine eklenebilir. |
create_node
CommandStep için bir düğüm oluşturun ve bunu belirtilen grafiğe ekleyin.
Bu yöntem doğrudan kullanılmak üzere tasarlanmamıştır. Bu adımla bir işlem hattı örneği oluşturulduğunda, Azure ML bu yöntem aracılığıyla gerekli parametreleri otomatik olarak geçirir, böylece adım iş akışını temsil eden bir işlem hattı grafiğine eklenebilir.
create_node(graph, default_datastore, context)
Parametreler
Name | Description |
---|---|
graph
Gerekli
|
Düğümün ekleneceği graf nesnesi. |
default_datastore
Gerekli
|
Varsayılan veri deposu. |
context
Gerekli
|
<xref:_GraphContext>
Grafik bağlamı. |
Döndürülenler
Tür | Description |
---|---|
Oluşturulan düğüm. |