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.
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
| Name | Description |
|---|---|
|
script_name
Gerekli
|
[Gerekli] ile ilgili bir Python betiğinin |
|
name
|
Adımın adı. Belirtilmemişse kullanılır Default value: None
|
|
arguments
|
Python betik dosyası için komut satırı bağımsız değişkenleri. Bağımsız değişkenler, RunConfiguration parametresi aracılığıyla Default value: None
|
|
compute_target
|
[Gerekli] Kullanılacak işlem hedefi. Belirtilmezse runconfig'den hedef 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 (AmlCompute türü 'AmlCompute' ve RemoteCompute türü 'VirtualMachine') getirilmemesi için bir demet belirtebilirsiniz ('işlem hedef adı', 'işlem hedef türü'). Default value: None
|
|
runconfig
|
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. Default value: None
|
|
runconfig_pipeline_params
|
Her biri runconfig özelliğinin adı ve bu özellik için PipelineParameter olan anahtar-değer çiftlerini kullanarak çalışma zamanında runconfig özelliklerinin geçersiz kılmaları. Desteklenen değerler: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' Default value: None
|
|
inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Giriş bağlantı noktası bağlamalarının listesi. Default value: None
|
|
outputs
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, 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
|
Python betiği, 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 kullanım 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 tüm adımlarda hemen kullanılabilir duruma 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ım için işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi. Default value: None
|
|
hash_paths
|
KULLANIMDAN KALKTI: artık gerekli değil. Adım içeriğinde yapılan değişiklikler denetlenirken karma yol listesi. Herhangi bir değişiklik algılanırsa, işlem hattı önceki bir ç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çindekiler Default value: None
|
|
script_name
Gerekli
|
[Gerekli] ile ilgili bir Python betiğinin |
|
name
Gerekli
|
Adımın adı. Belirtilmemişse kullanılır |
|
arguments
Gerekli
|
[str]
Python betik dosyası için komut satırı bağımsız değişkenleri. Bağımsız değişkenler, RunConfiguration parametresi aracılığıyla |
|
compute_target
Gerekli
|
[Gerekli] Kullanılacak işlem hedefi. Belirtilmezse runconfig'den hedef 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 (AmlCompute türü 'AmlCompute' ve RemoteCompute türü 'VirtualMachine') getirilmemesi için bir demet belirtebilirsiniz ('işlem hedef adı', 'işlem hedef türü'). |
|
runconfig
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
Gerekli
|
Her biri runconfig özelliğinin adı ve bu özellik için PipelineParameter olan anahtar-değer çiftlerini kullanarak çalışma zamanında runconfig özelliklerinin geçersiz kılmaları. Desteklenen değerler: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
|
inputs
Gerekli
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Giriş bağlantı noktası bağlamalarının listesi. |
|
outputs
Gerekli
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Çıkış bağlantı noktası bağlamalarının listesi. |
|
params
Gerekli
|
<xref:<xref:{str: str}>>
Ad-değer çiftlerinin sözlüğü. ">>AML_PARAMETER_<<" ile ortam değişkenleri olarak kaydedilir. |
|
source_directory
Gerekli
|
Python betiği, 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 kullanım 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 tüm adımlarda hemen kullanılabilir duruma 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ım için işlev değişikliğini belirtmek için isteğe bağlı bir sürüm etiketi. |
|
hash_paths
Gerekli
|
KULLANIMDAN KALKTI: artık gerekli değil. Adım içeriğinde yapılan değişiklikler denetlenirken karma yol listesi. Herhangi bir değişiklik algılanırsa, işlem hattı önceki bir ç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çindekiler |
Açıklamalar
PythonScriptStep, işlem hedefinde Python Betiği çalıştırmaya yönelik temel, yerleşik bir adımdır. Bir betik adı ve betik için bağımsız değişkenler, işlem hedefi, girişler ve çıkışlar gibi diğer isteğe bağlı parametreleri alır. Herhangi bir iş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ışmak için en iyi yöntem, 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, 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, anlık görüntünün yeniden yüklenmesini tetikleyecek bir değişiklik source_directory yapılmazsa önceki çalıştırmadan alınan adım çıktısı 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 girişler DatasetConsumptionConfig ve OutputDatasetConfig, PipelineOutputAbstractDatasetile PipelineData girişler ve çıkışlar içindir.
Aşağıda, adım girişi 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 bakın.
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 gerekli parametreleri otomatik olarak bu yöntem aracılığıyla 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 gerekli parametreleri otomatik olarak bu yöntem aracılığıyla 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 grafik nesnesi. |
|
default_datastore
Gerekli
|
Varsayılan veri deposu. |
|
context
Gerekli
|
<xref:azureml.pipeline.core._GraphContext>
Grafik bağlamı. |
Döndürülenler
| Tür | Description |
|---|---|
|
Oluşturulan düğüm. |