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.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
- 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
- AbstractAzureStorageDatastore veya AzureDataLakeDatastore
PipelineData'nın bulunacağı Veri Deposu. Belirtilmemişse, varsayılan veri deposu kullanılır.
- output_name
- str
Hiçbiri adı kullanılıyorsa çıkışın adı. Yalnızca harf, rakam ve alt çizgi içerebilir.
- output_mode
- str
Ü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
= "karşıya yükleme" için output_mode
bu parametre, modülün çıkışı yazdığı yolu temsil eder.
- output_overwrite
- bool
= output_mode
"upload" için, bu parametre mevcut verilerin üzerine yazıp yazmayacağını belirtir.
- 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.
- is_directory
- bool
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
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
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
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
PipelineData'nın bulunacağı Veri Deposu. Belirtilmemişse, varsayılan veri deposu kullanılır.
- output_name
- str
Hiçbiri adı kullanılıyorsa çıkışın adı. yalnızca harf, rakam ve alt çizgi içerebilir.
- output_mode
- str
Ü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
= "karşıya yükleme" için output_mode
bu parametre, modülün çıkışı yazdığı yolu temsil eder.
- output_overwrite
- bool
= output_mode
"upload" için, bu parametre mevcut verilerin üzerine yazıp yazmayacağını belirtir.
- 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.
- is_directory
- bool
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
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
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_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
- overwrite
- bool
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
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
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
- overwrite
- bool
"İ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ü
Öznitelikler
data_type
datastore
PipelineData'nın bulunacağı veri deposu.
Döndürülenler
Datastore nesnesi.
Dönüş türü
name
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin