PythonScriptStep Sınıf

Python betiğini çalıştıran bir Azure ML İşlem Hattı adımı oluşturur.

PythonScriptStep kullanma örneği için not defterine https://aka.ms/pl-get-startedbakın.

Python betiğini çalıştıran bir Azure ML İşlem Hattı adımı oluşturun.

Devralma
azureml.pipeline.core._python_script_step_base._PythonScriptStepBase
PythonScriptStep

Oluşturucu

PythonScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)

Parametreler

script_name
str
Gerekli

[Gerekli] ile ilgili Bir Python betiğinin source_directoryadı.

name
str
varsayılan değer: None

Adımın adı. Belirtilmemişse script_name kullanılır.

arguments
list
varsayılan değer: None

Python betik dosyası için komut satırı bağımsız değişkenleri. Bağımsız değişkenler RunConfiguration içindeki parametresi aracılığıyla arguments hesaplamaya geçirilir. Özel simgeler gibi bağımsız değişkenleri işleme hakkında daha fazla ayrıntı için bkz RunConfiguration. .

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
varsayılan değer: None

[Gerekli] Kullanılacak işlem hedefi. Belirtilmemişse runconfig'den hedef kullanılır. Bu parametre bir işlem hedefi nesnesi veya çalışma alanında işlem hedefinin dize adı olarak belirtilebilir. İşlem hedefi işlem hattı oluşturma zamanında kullanılamıyorsa, işlem hedef nesnesinin (AmlCompute türü 'AmlCompute' ve RemoteCompute türü 'VirtualMachine') getirilmemesi için bir demet belirtebilirsiniz ('işlem hedefi adı', 'işlem hedef türü').

runconfig
RunConfiguration
varsayılan değer: None

Kullanılacak isteğe bağlı RunConfiguration. RunConfiguration, conda bağımlılıkları ve docker görüntüsü gibi ek çalıştırma gereksinimlerini belirtmek için kullanılabilir. Belirtilmezse, varsayılan bir runconfig oluşturulur.

runconfig_pipeline_params
dict[str, PipelineParameter]
varsayılan değer: None

Her biri runconfig özelliğinin adı ve bu özellik için PipelineParameter olan anahtar-değer çiftlerini kullanarak çalışma zamanında runconfig özelliklerini geçersiz kılar.

Desteklenen değerler: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

inputs
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
varsayılan değer: None

Giriş bağlantı noktası bağlamalarının listesi.

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
varsayılan değer: None

Çıkış bağlantı noktası bağlamalarının listesi.

params
dict
varsayılan değer: None

"AML_PARAMETER_" ile ortam değişkenleri olarak kaydedilen ad-değer çiftlerinin sözlüğü.

source_directory
str
varsayılan değer: None

Python betiği, conda env ve adımda kullanılan diğer kaynakları içeren bir klasör.

allow_reuse
bool
varsayılan değer: True

Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullan özelliği 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 hesaplamaya göndermek yerine, önceki çalıştırmanın sonuçları sonraki adımlarda hemen 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 değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir.

version
str
varsayılan değer: None

Adımdaki işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi.

hash_paths
list
varsayılan değer: None

KULLANIMDAN KALKTI: artık gerekli değil.

Adım içeriğinde yapılan değişiklikler denetlenirken karmaya giden yolların listesi. Hiçbir değişiklik algılanırsa, işlem hattı önceki çalıştırmanın adım içeriğini yeniden kullanır. Varsayılan olarak, .amlignore veya .gitignore içinde listelenen dosyalar dışında içeriğinin source_directory karması oluşturulur.

script_name
str
Gerekli

[Gerekli] ile ilgili Bir Python betiğinin source_directoryadı.

name
str
Gerekli

Adımın adı. Belirtilmemişse script_name kullanılır.

arguments
[str]
Gerekli

Python betik dosyası için komut satırı bağımsız değişkenleri. Bağımsız değişkenler RunConfiguration içindeki parametresi aracılığıyla arguments hesaplamaya geçirilir. Özel simgeler gibi bağımsız değişkenleri işleme hakkında daha fazla ayrıntı için bkz RunConfiguration. .

compute_target
Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
Gerekli

[Gerekli] Kullanılacak işlem hedefi. Belirtilmemişse runconfig'den hedef kullanılır. Bu parametre bir işlem hedefi nesnesi veya çalışma alanında işlem hedefinin dize adı olarak belirtilebilir. İşlem hedefi işlem hattı oluşturma zamanında kullanılamıyorsa, işlem hedef nesnesinin (AmlCompute türü 'AmlCompute' ve RemoteCompute türü 'VirtualMachine') getirilmemesi için bir demet belirtebilirsiniz ('işlem hedefi adı', 'işlem hedef türü').

runconfig
RunConfiguration
Gerekli

Kullanılacak isteğe bağlı RunConfiguration. RunConfiguration, conda bağımlılıkları ve docker görüntüsü gibi ek çalıştırma gereksinimlerini belirtmek için kullanılabilir. Belirtilmezse, varsayılan bir runconfig oluşturulur.

runconfig_pipeline_params
dict[str, PipelineParameter]
Gerekli

Her biri runconfig özelliğinin adı ve bu özellik için PipelineParameter olan anahtar-değer çiftlerini kullanarak çalışma zamanında runconfig özelliklerini geçersiz kılar.

Desteklenen değerler: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Gerekli

Çıkış bağlantı noktası bağlamalarının listesi.

params
<xref:<xref:{str: str}>>
Gerekli

Ad-değer çiftlerinin sözlüğü. ">>AML_PARAMETER_<<" ile ortam değişkenleri olarak kaydedilir.

source_directory
str
Gerekli

Python betiği, conda env ve adımda kullanılan diğer kaynakları içeren bir klasör.

allow_reuse
bool
Gerekli

Aynı ayarlarla yeniden çalıştırıldığında adımın önceki sonuçları yeniden kullanıp kullanmayacağını gösterir. Yeniden kullan özelliği 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 hesaplamaya göndermek yerine, önceki çalıştırmanın sonuçları sonraki adımlarda hemen 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 değil, veri kümesinin tanımının değişip değişmediğine göre belirlenir.

version
str
Gerekli

Adımdaki işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi.

hash_paths
list
Gerekli

KULLANIMDAN KALKTI: artık gerekli değil.

Adım içeriğinde yapılan değişiklikler denetlenirken karmaya giden yolların listesi. Hiçbir değişiklik algılanırsa, işlem hattı önceki çalıştırmanın adım içeriğini yeniden kullanır. Varsayılan olarak, .amlignore veya .gitignore içinde listelenen dosyalar dışında içeriğinin source_directory karması oluşturulur.

Açıklamalar

PythonScriptStep, bir işlem hedefinde Python Betiği çalıştırmaya yönelik temel, yerleşik bir adımdır. Betik adını ve betiğin bağımsız değişkenleri, işlem hedefi, girişler ve çıkışlar gibi diğer isteğe bağlı parametreleri alır. İşlem hedefi belirtilmezse, çalışma alanı için varsayılan işlem hedefi kullanılır. PythonScriptStep için conda bağımlılıkları ve docker görüntüsü gibi gereksinimleri belirtmek için de kullanabilirsiniz RunConfiguration .

PythonScriptStep ile çalışırken en iyi uygulama, betikler ve adımla ilişkili bağımlı dosyalar 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, adım için oluşturulan anlık görüntünün boyutunu azaltmaya yardımcı olur çünkü yalnızca adım için gerekli olan anlık görüntü oluşturulur. İkinci olarak, anlık görüntünün yeniden yüklenmesini tetikleyecek bir değişiklik source_directory olmadığında önceki çalıştırmadan alınan adım çıkışı yeniden kullanılabilir.

Aşağıdaki kod örneği, bir makine öğrenmesi eğitim senaryosunda PythonScriptStep kullanmayı gösterir. Bu örnekteki diğer ayrıntılar için bkz https://aka.ms/pl-first-pipeline. .


   from azureml.pipeline.steps import PythonScriptStep

   trainStep = PythonScriptStep(
       script_name="train.py",
       arguments=["--input", blob_input_data, "--output", output_data1],
       inputs=[blob_input_data],
       outputs=[output_data1],
       compute_target=compute_target,
       source_directory=project_folder
   )

PythonScriptSteps bir dizi giriş ve çıkış türünü destekler. Bunlar, DatasetConsumptionConfig girişler ve OutputDatasetConfig, PipelineOutputAbstractDatasetve PipelineData girişler ile çıkışlar için içerir.

Aşağıda, adım giriş ve çıkış olarak kullanma Dataset örneği verilmiştir:


   from azureml.core import Dataset
   from azureml.pipeline.steps import PythonScriptStep
   from azureml.pipeline.core import Pipeline, PipelineData

   # get input dataset
   input_ds = Dataset.get_by_name(workspace, 'weather_ds')

   # register pipeline output as dataset
   output_ds = PipelineData('prepared_weather_ds', datastore=datastore).as_dataset()
   output_ds = output_ds.register(name='prepared_weather_ds', create_new_version=True)

   # configure pipeline step to use dataset as the input and output
   prep_step = PythonScriptStep(script_name="prepare.py",
                                inputs=[input_ds.as_named_input('weather_ds')],
                                outputs=[output_ds],
                                compute_target=compute_target,
                                source_directory=project_folder)

Diğer giriş/çıkış türlerini kullanma örnekleri için lütfen ilgili belge sayfalarına başvurun.

Yöntemler

create_node

PythonScriptStep için bir düğüm oluşturun ve bunu belirtilen grafiğe ekleyin.

Bu yöntemin doğrudan kullanılması amaçlanmamış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

PythonScriptStep için bir düğüm oluşturun ve bunu belirtilen grafiğe ekleyin.

Bu yöntemin doğrudan kullanılması amaçlanmamış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

graph
Graph
Gerekli

Düğümün ekleneceği grafik nesnesi.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Gerekli

Varsayılan veri deposu.

context
<xref:azureml.pipeline.core._GraphContext>
Gerekli

Graf bağlamı.

Döndürülenler

Oluşturulan düğüm.

Dönüş türü