Aracılığıyla paylaş


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.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 Description
name
Gerekli
str

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.

varsayılan değer: None
output_name
str

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

varsayılan değer: None
output_mode
str

Oluşturan adımın verilere erişmek için "upload" veya "mount" yöntemini kullanıp kullanmayacağını belirtir.

varsayılan değer: mount
output_path_on_compute
str

= output_mode "upload" için bu parametre modülün çıkışı yazdığı yolu temsil eder.

varsayılan değer: None
output_overwrite

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

varsayılan değer: None
data_type
str

İ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.

varsayılan değer: None
is_directory

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.

varsayılan değer: None
pipeline_output_name

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

varsayılan değer: 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.

varsayılan değer: None
name
Gerekli
str

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
str

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

output_mode
Gerekli
str

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
str

= output_mode "upload" için bu parametre modülün çıkışı yazdığı yolu temsil eder.

output_overwrite
Gerekli

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

data_type
Gerekli
str

İ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 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
Gerekli
str

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

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_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 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
str

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

varsayılan değer: None
path_on_compute
str

İndirilmesi gereken işlemdeki yol.

varsayılan değer: None
overwrite

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

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

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
str

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

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

Girişin adı.

varsayılan değer: None
mode
str

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

varsayılan değer: None
path_on_compute
str

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

varsayılan değer: None
overwrite

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

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

Ortam değişkeni adı.

Öznitelikler

data_type

Oluşturulacak veri türü.

Döndürülenler

Tür Description
str

Veri türü adı.

datastore

PipelineData'nın bulunacağı veri deposu.

Döndürülenler

Tür Description

Datastore nesnesi.

name

PipelineData nesnesinin adı.

Döndürülenler

Tür Description
str

Adı.