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 üretilebilir ve bir pipelineData nesnesi bir adımın çıktısı 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.object
PipelineData

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
str
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
AbstractAzureStorageDatastore veya AzureDataLakeDatastore
varsayılan değer: None

PipelineData'nın bulunacağı Veri Deposu. Belirtilmemişse, varsayılan veri deposu kullanılır.

output_name
str
varsayılan değer: None

Hiçbiri adı kullanılıyorsa çıkışın adı. Yalnızca harf, rakam ve alt çizgi içerebilir.

output_mode
str
varsayılan değer: mount

Üretim adımının verilere erişmek için "karşıya yükleme" veya "bağlama" yöntemini kullanıp kullanmayacağını belirtir.

output_path_on_compute
str
varsayılan değer: None

= "karşıya yükleme" için output_mode bu parametre, modülün çıkışı yazdığı yolu temsil eder.

output_overwrite
bool
varsayılan değer: None

= output_mode "upload" için, bu parametre mevcut verilerin üzerine yazıp yazmayacağını belirtir.

data_type
str
varsayılan değer: None

İ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
bool
varsayılan değer: None

Verilerin bir dizin mi yoksa tek bir dosya mı olduğunu belirtir. Bu yalnızca parametre sağlanmadığında data_type Azure ML arka ucu tarafından kullanılan bir veri türünü belirlemek için kullanılır. Varsayılan değer False'tur.

pipeline_output_name
varsayılan değer: None

Sağlanırsa, bu çıkış kullanılarak PipelineRun.get_pipeline_output()kullanılabilir. İşlem hattı çıkış adları işlem hattında benzersiz olmalıdır.

training_output
TrainingOutput
varsayılan değer: None

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 dahil edilecek belirli model dosyalarını da tanımlayabilirsiniz.

name
str
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
AbstractAzureStorageDatastore veya AzureDataLakeDatastore
Gerekli

PipelineData'nın bulunacağı Veri Deposu. Belirtilmemişse, varsayılan veri deposu kullanılır.

output_name
str
Gerekli

Hiçbiri adı kullanılıyorsa çıkışın adı. yalnızca harf, rakam ve alt çizgi içerebilir.

output_mode
str
Gerekli

Üretim adımının verilere erişmek için "karşıya yükleme" veya "bağlama" yöntemini kullanıp kullanmayacağını belirtir.

output_path_on_compute
str
Gerekli

= "karşıya yükleme" için output_mode bu parametre, modülün çıkışı yazdığı yolu temsil eder.

output_overwrite
bool
Gerekli

= output_mode "upload" için, bu parametre mevcut verilerin üzerine yazıp yazmayacağını belirtir.

data_type
str
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
bool
Gerekli

Verilerin bir dizin mi yoksa tek bir dosya mı olduğunu belirtir. Bu yalnızca parametre sağlanmadığında data_type Azure ML arka ucu tarafından kullanılan bir veri türünü belirlemek için kullanılır. Varsayılan değer False'tur.

pipeline_output_name
str
Gerekli

Sağlanırsa, bu çıkış kullanılarak PipelineRun.get_pipeline_output()kullanılabilir. İşlem hattı çıkış adları işlem hattında benzersiz olmalıdır.

training_output
TrainingOutput
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 dahil edilecek 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 mevcut olacaktır. 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. çıkışta as_dataset çağrılmazsa ancak yalnızca girişte çağrılırsa, bu bir bağlantı olur 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_download

İşlem HattıVerilerini indirme olarak tüketin.

as_input

InputPortBinding oluşturun ve bir giriş adı belirtin (ancak varsayılan modu kullanın).

as_mount

PipelineData'yi bağlama olarak kullanma.

create_input_binding

Giriş bağlaması oluşturun.

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 mevcut olacaktır. 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. çıkışta as_dataset çağrılmazsa ancak yalnızca girişte çağrılırsa, bu bir bağlantı olur 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

Veri Kümesi olarak ara çıkış.

Dönüş türü

as_download

İşlem HattıVerilerini indirme olarak tüketin.

as_download(input_name=None, path_on_compute=None, overwrite=None)

Parametreler

input_name
str
varsayılan değer: None

Bu giriş için bir ad belirtmek için kullanın.

path_on_compute
str
varsayılan değer: None

İndirilmesi gereken işlemdeki yol.

overwrite
bool
varsayılan değer: None

Varolan verilerin üzerine yazılıp yazılmayacağını belirtmek için kullanın.

Döndürülenler

Kaynak olarak bu PipelineData ile InputPortBinding.

Dönüş türü

as_input

InputPortBinding oluşturun ve bir giriş adı belirtin (ancak varsayılan modu kullanın).

as_input(input_name)

Parametreler

input_name
str
Gerekli

Bu giriş için bir ad belirtmek için kullanın.

Döndürülenler

Kaynak olarak bu PipelineData ile InputPortBinding.

Dönüş türü

as_mount

PipelineData'yi bağlama olarak kullanma.

as_mount(input_name=None)

Parametreler

input_name
str
varsayılan değer: None

Bu giriş için bir ad belirtmek için kullanın.

Döndürülenler

Kaynak olarak bu PipelineData ile InputPortBinding.

Dönüş türü

create_input_binding

Giriş bağlaması oluşturun.

create_input_binding(input_name=None, mode=None, path_on_compute=None, overwrite=None)

Parametreler

input_name
str
varsayılan değer: None

Girişin adı.

mode
str
varsayılan değer: None

PipelineData'ya erişme modu ("bağlama" veya "indirme").

path_on_compute
str
varsayılan değer: None

"İndirme" modu için, işlemdeki veri yolu bulunur.

overwrite
bool
varsayılan değer: None

"İndirme" modu için, mevcut verilerin üzerine yazıp yazılmayacağı.

Döndürülenler

Kaynak olarak bu PipelineData ile InputPortBinding.

Dönüş türü

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

Ortam değişkeni adı.

Dönüş türü

str

Öznitelikler

data_type

Oluşturulacak veri türü.

Döndürülenler

Veri türü adı.

Dönüş türü

str

datastore

PipelineData'nın bulunacağı veri deposu.

Döndürülenler

Datastore nesnesi.

Dönüş türü

name

PipelineData nesnesinin adı.

Döndürülenler

Adı.

Dönüş türü

str