Aracılığıyla paylaş


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._PythonScriptStepBase
CommandStep

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
list veya str

yürütülebilir dosyanın/betiğin çalıştırılacak komutu veya yolu ile ilgili olarak source_directory. Runconfig ile sağlanmadığı sürece gereklidir. Tek bir dizede dize bağımsız değişkenleriyle veya bir listede input/output/PipelineParameter ile belirtilebilir.

Default value: None
name
str

Adımın adı. Belirtilmezse içindeki ilk sözcük command kullanılır.

Default value: None
compute_target

Kullanılacak işlem hedefi. Belirtilmezse, hedeften runconfig kullanılır. Bu parametre, çalışma alanında işlem hedefi nesnesi veya işlem hedefinin dize adı olarak belirtilebilir. İsteğe bağlı olarak işlem hedefi işlem hattı oluşturma zamanında kullanılamıyorsa, işlem hedef nesnesinin getirilmesini önlemek için bir demet ('işlem hedefi adı', 'işlem hedefi türü') belirtebilirsiniz (AmlCompute türü 'AmlCompute' ve RemoteCompute türü 'VirtualMachine').

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

Çı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
str

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
str

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
list veya str

yürütülebilir dosyanın/betiğin çalıştırılacak komutu veya yolu ile ilgili olarak source_directory. Runconfig ile sağlanmadığı sürece gereklidir. Tek bir dizede dize bağımsız değişkenleriyle veya bir listede input/output/PipelineParameter ile belirtilebilir.

name
Gerekli
str

Adımın adı. Belirtilmezse içindeki ilk sözcük command kullanılır.

compute_target
Gerekli

Kullanılacak işlem hedefi. Belirtilmezse, hedeften runconfig kullanılır. Bu parametre, çalışma alanında işlem hedefi nesnesi veya işlem hedefinin dize adı olarak belirtilebilir. İsteğe bağlı olarak işlem hedefi işlem hattı oluşturma zamanında kullanılamıyorsa, işlem hedef nesnesinin getirilmesini önlemek için bir demet ('işlem hedefi adı', 'işlem hedefi türü') belirtebilirsiniz (AmlCompute türü 'AmlCompute' ve RemoteCompute türü 'VirtualMachine').

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

Çı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
str

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
str

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.