PipelineData Sınıf
Azure Machine Learning işlem hattındaki ara verileri temsil eder.
İşlem hattında kullanılan veriler bir adım tarafından oluşturulabilir ve bir pipelineData nesnesi bir adımın çıkışı ve sonraki bir veya daha fazla adımın girişi olarak sağlanarak başka bir adımda kullanılabilir.
İşlem hattı verilerini kullanıyorsanız kullanılan dizinin mevcut olduğundan emin olun.
Dizinin var olduğundan emin olmak için bir python örneği, bir işlem hattı adımında output_folder adlı bir çıkış bağlantı noktanız olduğunu varsayalım ve bu klasördeki göreli yola veri yazmak istiyorsunuz.
import os
os.makedirs(args.output_folder, exist_ok=True)
f = open(args.output_folder + '/relative_path/file_name', 'w+')
PipelineData, veri erişimi ve teslimi için artık önerilen yaklaşım olmayan DataReference'ı kullanır, lütfen bunun yerine OutputFileDatasetConfig kullanın. Örneği burada bulabilirsiniz: OutputFileDatasetConfig kullanarak işlem hattı.
PipelineData'ı başlatın.
- Devralma
-
builtins.objectPipelineData
Oluşturucu
PipelineData(name, datastore=None, output_name=None, output_mode='mount', output_path_on_compute=None, output_overwrite=None, data_type=None, is_directory=None, pipeline_output_name=None, training_output=None)
Parametreler
Name | Description |
---|---|
name
Gerekli
|
Yalnızca harf, rakam ve alt çizgi içerebilen PipelineData nesnesinin adı. PipelineData adları, bir adımın çıkışlarını tanımlamak için kullanılır. İşlem hattı çalıştırması tamamlandıktan sonra, belirli bir çıkışa erişmek için adım adını çıkış adıyla kullanabilirsiniz. Adlar, işlem hattındaki tek bir adımda benzersiz olmalıdır. |
datastore
|
PipelineData'nın bulunacağı Veri Deposu. Belirtilmezse, varsayılan veri deposu kullanılır. Default value: None
|
output_name
|
Hiçbiri adı kullanılıyorsa çıkışın adı. Yalnızca harf, rakam ve alt çizgi içerebilir. Default value: None
|
output_mode
|
Oluşturan adımın verilere erişmek için "upload" veya "mount" yöntemini kullanıp kullanmayacağını belirtir. Default value: mount
|
output_path_on_compute
|
= Default value: None
|
output_overwrite
|
= Default value: None
|
data_type
|
İsteğe bağlı. Veri türü, beklenen çıktı türünü belirtmek ve tüketen adımların verileri nasıl kullanması gerektiğini ayrıntılı olarak belirtmek için kullanılabilir. Herhangi bir kullanıcı tanımlı dize olabilir. Default value: None
|
is_directory
|
Verilerin bir dizin mi yoksa tek bir dosya mı olduğunu belirtir. Bu yalnızca parametre sağlanmadığında Default value: None
|
pipeline_output_name
|
Sağlanırsa, bu çıkış kullanılarak Default value: None
|
training_output
|
Eğitim sonucunun çıkışını tanımlar. Bu yalnızca Ölçümler ve Model gibi farklı çıkış türleriyle sonuçlanan belirli eğitimler için gereklidir. Örneğin ölçümler AutoMLStep ve model sonuçları. Ayrıca, en iyi modeli elde etmek için kullanılan belirli eğitim yinelemesini veya ölçümü de tanımlayabilirsiniz. için HyperDriveStepçıkışa eklenecek belirli model dosyalarını da tanımlayabilirsiniz. Default value: None
|
name
Gerekli
|
Yalnızca harf, rakam ve alt çizgi içerebilen PipelineData nesnesinin adı. PipelineData adları, bir adımın çıkışlarını tanımlamak için kullanılır. İşlem hattı çalıştırması tamamlandıktan sonra, belirli bir çıkışa erişmek için adım adını çıkış adıyla kullanabilirsiniz. Adlar, işlem hattındaki tek bir adımda benzersiz olmalıdır. |
datastore
Gerekli
|
PipelineData'nın bulunacağı Veri Deposu. Belirtilmezse, varsayılan veri deposu kullanılır. |
output_name
Gerekli
|
Hiçbiri adı kullanılıyorsa çıkışın adı. yalnızca harf, rakam ve alt çizgi içerebilir. |
output_mode
Gerekli
|
Oluşturan adımın verilere erişmek için "upload" veya "mount" yöntemini kullanıp kullanmayacağını belirtir. |
output_path_on_compute
Gerekli
|
= |
output_overwrite
Gerekli
|
= |
data_type
Gerekli
|
İsteğe bağlı. Veri türü, beklenen çıktı türünü belirtmek ve tüketen adımların verileri nasıl kullanması gerektiğini ayrıntılı olarak belirtmek için kullanılabilir. Herhangi bir kullanıcı tanımlı dize olabilir. |
is_directory
Gerekli
|
Verilerin bir dizin mi yoksa tek bir dosya mı olduğunu belirtir. Bu yalnızca parametre sağlanmadığında |
pipeline_output_name
Gerekli
|
Sağlanırsa, bu çıkış kullanılarak |
training_output
Gerekli
|
Eğitim sonucunun çıkışını tanımlar. Bu yalnızca Ölçümler ve Model gibi farklı çıkış türleriyle sonuçlanan belirli eğitimler için gereklidir. Örneğin ölçümler AutoMLStep ve model sonuçları. Ayrıca, en iyi modeli elde etmek için kullanılan belirli eğitim yinelemesini veya ölçümü de tanımlayabilirsiniz. için HyperDriveStepçıkışa eklenecek belirli model dosyalarını da tanımlayabilirsiniz. |
Açıklamalar
PipelineData, çalıştırıldığında bir adımın üreteceği veri çıkışını temsil eder. Adım tarafından oluşturulacak dosyaları veya dizinleri açıklamak için adımlar oluştururken PipelineData kullanın. Bu veri çıkışları belirtilen Datastore'ya eklenir ve daha sonra alınabilir ve görüntülenebilir.
Örneğin, aşağıdaki işlem hattı adımı "model" adlı bir çıkış oluşturur:
from azureml.pipeline.core import PipelineData
from azureml.pipeline.steps import PythonScriptStep
datastore = ws.get_default_datastore()
step_output = PipelineData("model", datastore=datastore)
step = PythonScriptStep(script_name="train.py",
arguments=["--model", step_output],
outputs=[step_output],
compute_target=aml_compute,
source_directory=source_directory)
Bu durumda, train.py betiği ürettiği modeli –model bağımsız değişkeni aracılığıyla betike sağlanan konuma yazar.
PipelineData nesneleri, adım bağımlılıklarını açıklamak için İşlem Hatları oluşturulurken de kullanılır. Bir adımın giriş olarak başka bir adımın çıkışını gerektirdiğini belirtmek için, her iki adımın oluşturucusunda bir PipelineData nesnesi kullanın.
Örneğin işlem hattı eğitma adımı, işlem hattı işlem adımının process_step_output çıkışına bağlıdır:
from azureml.pipeline.core import Pipeline, PipelineData
from azureml.pipeline.steps import PythonScriptStep
datastore = ws.get_default_datastore()
process_step_output = PipelineData("processed_data", datastore=datastore)
process_step = PythonScriptStep(script_name="process.py",
arguments=["--data_for_train", process_step_output],
outputs=[process_step_output],
compute_target=aml_compute,
source_directory=process_directory)
train_step = PythonScriptStep(script_name="train.py",
arguments=["--data_for_train", process_step_output],
inputs=[process_step_output],
compute_target=aml_compute,
source_directory=train_directory)
pipeline = Pipeline(workspace=ws, steps=[process_step, train_step])
Bu işlem hattı iki adımla oluşturulur. İşlem adımı önce yürütülür, ardından tamamlandıktan sonra tren adımı yürütülür. Azure ML, işlem adımı tarafından oluşturulan çıkışı tren adımına sağlar.
PipelineData kullanarak İşlem Hattı oluşturmanın diğer örnekleri için bu sayfaya bakın: https://aka.ms/pl-data-dep
Desteklenen işlem türleri için PipelineData, verilerin çalıştırma tarafından nasıl üretileceğini ve kullanılacağını belirtmek için de kullanılabilir. Desteklenen iki yöntem vardır:
Bağlama (varsayılan): Giriş veya çıkış verileri işlem düğümündeki yerel depolamaya bağlanır ve bu verilerin yoluna işaret eden bir ortam değişkeni ayarlanır ($AZUREML_DATAREFERENCE_name). Kolaylık olması için, PipelineData nesnesini betiğinize bağımsız değişkenlerden biri olarak geçirebilirsiniz; örneğin parametresini PythonScriptStepkullanarak
arguments
nesne veri yoluna çözümlenir. Çıkışlar için işlem betiğinizin bu çıkış yolunda bir dosya veya dizin oluşturması gerekir. İşlem Hattı nesnesini bağımsız değişken olarak geçirirken kullanılan ortam değişkeninin değerini görmek için yöntemini kullanın get_env_variable_name .Karşıya yükleme: Betiğinizin oluşturacağı dosya veya dizin adına karşılık gelen bir ad belirtin
output_path_on_compute
. (Ortam değişkenleri bu durumda kullanılmaz.)
Yöntemler
as_dataset |
Ara çıkışı bir Veri Kümesine yükseltin. Bu veri kümesi, adım yürütüldükten sonra var olur. Sonraki girişin veri kümesi olarak tüketilmesi için çıkışın veri kümesi olarak yükseltilmesi gerektiğini lütfen unutmayın. as_dataset çıkışta çağrılmazsa ancak yalnızca girişte çağrılırsa, bu bir bağlantıdır ve giriş veri kümesi olarak kullanılamaz. Aşağıdaki kod örneğinde doğru as_dataset kullanımı gösterilmektedir:
|
as_download |
İşlem HattıVerilerini indirme olarak kullanma. |
as_input |
Bir InputPortBinding İçerik Oluşturucu ve bir giriş adı belirtin (ancak varsayılan modu kullanın). |
as_mount |
PipelineData'yi bağlama olarak kullanma. |
create_input_binding |
Giriş bağlamayı İçerik Oluşturucu. |
get_env_variable_name |
Bu PipelineData için ortam değişkeninin adını döndürür. |
as_dataset
Ara çıkışı bir Veri Kümesine yükseltin.
Bu veri kümesi, adım yürütüldükten sonra var olur. Sonraki girişin veri kümesi olarak tüketilmesi için çıkışın veri kümesi olarak yükseltilmesi gerektiğini lütfen unutmayın. as_dataset çıkışta çağrılmazsa ancak yalnızca girişte çağrılırsa, bu bir bağlantıdır ve giriş veri kümesi olarak kullanılamaz. Aşağıdaki kod örneğinde doğru as_dataset kullanımı gösterilmektedir:
# as_dataset is called here and is passed to both the output and input of the next step.
pipeline_data = PipelineData('output').as_dataset()
step1 = PythonScriptStep(..., outputs=[pipeline_data])
step2 = PythonScriptStep(..., inputs=[pipeline_data])
as_dataset()
Döndürülenler
Tür | Description |
---|---|
Veri Kümesi olarak ara çıkış. |
as_download
İşlem HattıVerilerini indirme olarak kullanma.
as_download(input_name=None, path_on_compute=None, overwrite=None)
Parametreler
Name | Description |
---|---|
input_name
|
Bu giriş için bir ad belirtmek için kullanın. Default value: None
|
path_on_compute
|
İndirilmesi gereken işlemdeki yol. Default value: None
|
overwrite
|
Varolan verilerin üzerine yazıp yazılmayacağını belirtmek için kullanın. Default value: None
|
Döndürülenler
Tür | Description |
---|---|
Kaynak olarak bu PipelineData ile InputPortBinding. |
as_input
Bir InputPortBinding İçerik Oluşturucu ve bir giriş adı belirtin (ancak varsayılan modu kullanın).
as_input(input_name)
Parametreler
Name | Description |
---|---|
input_name
Gerekli
|
Bu giriş için bir ad belirtmek için kullanın. |
Döndürülenler
Tür | Description |
---|---|
Kaynak olarak bu PipelineData ile InputPortBinding. |
as_mount
PipelineData'yi bağlama olarak kullanma.
as_mount(input_name=None)
Parametreler
Name | Description |
---|---|
input_name
|
Bu giriş için bir ad belirtmek için kullanın. Default value: None
|
Döndürülenler
Tür | Description |
---|---|
Kaynak olarak bu PipelineData ile InputPortBinding. |
create_input_binding
Giriş bağlamayı İçerik Oluşturucu.
create_input_binding(input_name=None, mode=None, path_on_compute=None, overwrite=None)
Parametreler
Name | Description |
---|---|
input_name
|
Girişin adı. Default value: None
|
mode
|
PipelineData'ya erişme modu ("bağlama" veya "indirme"). Default value: None
|
path_on_compute
|
"İndirme" modu için, işlemdeki veri yolu bulunur. Default value: None
|
overwrite
|
"İndirme" modu için, mevcut verilerin üzerine yazıp yazılmayacağı. Default value: None
|
Döndürülenler
Tür | Description |
---|---|
Kaynak olarak bu PipelineData ile InputPortBinding. |
get_env_variable_name
Bu PipelineData için ortam değişkeninin adını döndürür.
get_env_variable_name()
Döndürülenler
Tür | Description |
---|---|
Ortam değişkeni adı. |
Öznitelikler
data_type
datastore
PipelineData'nın bulunacağı veri deposu.
Döndürülenler
Tür | Description |
---|---|
Datastore nesnesi. |