PipelineData Kelas

Mewakili data perantara dalam alur Azure Machine Learning.

Data yang digunakan dalam alur dapat dihasilkan dengan satu langkah dan dikonsumsi dalam langkah lain dengan menyediakan objek PipelineData sebagai output dari satu langkah dan input dari satu atau lebih langkah selanjutnya.

Catatan jika Anda menggunakan data alur, pastikan direktori yang digunakan tersedia.

Contoh python untuk memastikan direktori tersedia, misalnya Anda memiliki port output bernama output_folder dalam satu langkah alur, Anda ingin menulis beberapa data ke jalur relatif di folder ini.


   import os
   os.makedirs(args.output_folder, exist_ok=True)
   f = open(args.output_folder + '/relative_path/file_name', 'w+')

PipelineData menggunakan DataReference yang mendasarinya yang bukan lagi merupakan pendekatan yang disarankan untuk akses dan pengiriman data, silakan gunakan OutputFileDatasetConfig sebagai gantinya, Anda dapat menemukan sampel di sini: Alur menggunakan OutputFileDatasetConfig.

Menginisialisasi PipelineData.

Warisan
builtins.object
PipelineData

Konstruktor

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)

Parameter

Nama Deskripsi
name
Diperlukan
str

Nama objek PipelineData, yang hanya dapat berisi huruf, digit, dan garis bawah.

Nama PipelineData digunakan untuk mengidentifikasi output suatu langkah. Setelah alur selesai dijalankan, Anda dapat menggunakan nama langkah dengan nama output untuk mengakses output tertentu. Nama harus unik pada satu langkah dalam alur.

datastore

Penyimpanan data tempat PipelineData akan disimpan. Jika tidak ditentukan, penyimpanan data default digunakan.

nilai default: None
output_name
str

Nama output, jika nama None digunakan. Hanya dapat berisi huruf, angka, dan garis bawah.

nilai default: None
output_mode
str

Menentukan apakah langkah yang menghasilkan akan menggunakan metode "upload" atau "mount" untuk mengakses data.

nilai default: mount
output_path_on_compute
str

Untuk output_mode = "upload", parameter ini mewakili jalur tempat modul menulis output.

nilai default: None
output_overwrite

Untuk output_mode = "upload", parameter ini menentukan apakah akan menimpa data yang ada.

nilai default: None
data_type
str

Opsional. Jenis data dapat digunakan untuk menentukan jenis output yang diharapkan dan untuk merinci bagaimana langkah-langkah penyerapan harus menggunakan data. Ini bisa menjadi untai yang ditentukan pengguna.

nilai default: None
is_directory

Menentukan apakah data merupakan direktori atau file tunggal. Ini hanya digunakan untuk menentukan jenis data yang digunakan oleh ujung belakang Azure ML saat parameter data_type tidak disediakan. Defaultnya adalah False.

nilai default: None
pipeline_output_name

Jika disediakan output ini akan tersedia dengan menggunakan PipelineRun.get_pipeline_output(). Nama output alur harus unik dalam alur.

nilai default: None
training_output

Mendefinisikan output untuk hasil pelatihan. Ini hanya diperlukan untuk pelatihan tertentu yang menghasilkan jenis output yang berbeda seperti Metrik dan Model. Misalnya, AutoMLStep menghasilkan metrik dan model. Anda juga dapat menentukan perulangan atau metrik pelatihan tertentu yang digunakan untuk mendapatkan model terbaik. Untuk HyperDriveStep, Anda juga dapat menentukan file model tertentu yang akan disertakan dalam output.

nilai default: None
name
Diperlukan
str

Nama objek PipelineData, yang hanya dapat berisi huruf, digit, dan garis bawah.

Nama PipelineData digunakan untuk mengidentifikasi output suatu langkah. Setelah alur selesai dijalankan, Anda dapat menggunakan nama langkah dengan nama output untuk mengakses output tertentu. Nama harus unik pada satu langkah dalam alur.

datastore
Diperlukan

Penyimpanan data tempat PipelineData akan disimpan. Jika tidak ditentukan, penyimpanan data default digunakan.

output_name
Diperlukan
str

Nama output, jika nama None digunakan. yang hanya dapat berisi huruf, digit, dan garis bawah.

output_mode
Diperlukan
str

Menentukan apakah langkah yang menghasilkan akan menggunakan metode "upload" atau "mount" untuk mengakses data.

output_path_on_compute
Diperlukan
str

Untuk output_mode = "upload", parameter ini mewakili jalur tempat modul menulis output.

output_overwrite
Diperlukan

Untuk output_mode = "upload", parameter ini menentukan apakah akan menimpa data yang ada.

data_type
Diperlukan
str

Opsional. Jenis data dapat digunakan untuk menentukan jenis output yang diharapkan dan untuk merinci bagaimana langkah-langkah penyerapan harus menggunakan data. Ini bisa menjadi untai yang ditentukan pengguna.

is_directory
Diperlukan

Menentukan apakah data merupakan direktori atau file tunggal. Ini hanya digunakan untuk menentukan jenis data yang digunakan oleh ujung belakang Azure ML saat parameter data_type tidak disediakan. Defaultnya adalah False.

pipeline_output_name
Diperlukan
str

Jika disediakan output ini akan tersedia dengan menggunakan PipelineRun.get_pipeline_output(). Nama output alur harus unik dalam alur.

training_output
Diperlukan

Mendefinisikan output untuk hasil pelatihan. Ini hanya diperlukan untuk pelatihan tertentu yang menghasilkan jenis output yang berbeda seperti Metrik dan Model. Misalnya, AutoMLStep menghasilkan metrik dan model. Anda juga dapat menentukan perulangan atau metrik pelatihan tertentu yang digunakan untuk mendapatkan model terbaik. Untuk HyperDriveStep, Anda juga dapat menentukan file model tertentu yang akan disertakan dalam output.

Keterangan

PipelineData mewakili output data yang akan dihasilkan oleh suatu langkah saat dijalankan. Gunakan PipelineData saat membuat langkah-langkah untuk menjelaskan file atau direktori yang akan dihasilkan oleh langkah tersebut. Output data ini akan ditambahkan ke Penyimpanan data yang ditentukan dan dapat diambil dan ditampilkan nanti.

Misalnya, langkah alur berikut menghasilkan satu output, bernama "model":


   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)

Dalam hal ini, skrip train.py akan menulis model yang dihasilkannya ke lokasi yang disediakan untuk skrip melalui argumen –model.

Objek PipelineData juga digunakan saat membuat Alur untuk menjelaskan dependensi langkah. Untuk menentukan bahwa langkah memerlukan output langkah lain sebagai input, gunakan objek PipelineData di konstruktor kedua langkah tersebut.

Misalnya, langkah pelatihan alur bergantung pada output process_step_output dari langkah proses alur:


   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])

Ini akan membuat Alur dengan dua langkah. Langkah proses akan dijalankan terlebih dahulu, kemudian setelah selesai, langkah melatih akan dijalankan. Azure ML akan memberikan output yang dihasilkan oleh langkah proses ke langkah pelatihan.

Lihat halaman ini untuk contoh lebih lanjut menggunakan PipelineData untuk membuat Alur: https://aka.ms/pl-data-dep

Untuk jenis komputasi yang didukung, PipelineData juga dapat digunakan untuk menentukan bagaimana data akan diproduksi dan digunakan oleh eksekusi. Ada dua metode yang didukung:

  • Mount (default): Data input atau output dipasang ke penyimpanan lokal pada node komputasi, dan variabel lingkungan diatur yang menunjuk ke jalur data ini ($AZUREML_DATAREFERENCE_name). Untuk kenyamanan, Anda dapat meneruskan objek PipelineData sebagai salah satu argumen ke skrip Anda, misalnya menggunakan parameter arguments dari PythonScriptStep, dan objek akan menyelesaikan ke jalur ke data. Untuk output, skrip komputasi Anda harus membuat file atau direktori di jalur output ini. Untuk melihat nilai variabel lingkungan yang digunakan saat Anda meneruskan objek Alur sebagai argumen, gunakan metode get_env_variable_name.

  • Unggah: Tentukan output_path_on_compute yang sesuai dengan nama file atau direktori yang akan dihasilkan skrip Anda. (Variabel lingkungan tidak digunakan dalam kasus ini.)

Metode

as_dataset

Promosikan output perantara ke dalam Himpunan Data.

Himpunan data ini akan ada setelah langkah tersebut dijalankan. Harap dicatat bahwa output harus dipromosikan menjadi himpunan data agar input berikutnya dapat digunakan sebagai himpunan data. Jika as_dataset tidak dipanggil pada output tetapi hanya dipanggil pada input, maka hal tersebut akan menjadi noop dan input tidak akan digunakan sebagai himpunan data. Contoh kode di bawah ini menunjukkan penggunaan as_dataset yang benar:


   # 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

Gunakan PipelineData sebagai unduhan.

as_input

Buat InputPortBinding dan tentukan nama input (tetapi gunakan mode default).

as_mount

Gunakan PipelineData sebagai mount.

create_input_binding

Buat pengikatan input.

get_env_variable_name

Kembalikan nama variabel lingkungan untuk PipelineData ini.

as_dataset

Promosikan output perantara ke dalam Himpunan Data.

Himpunan data ini akan ada setelah langkah tersebut dijalankan. Harap dicatat bahwa output harus dipromosikan menjadi himpunan data agar input berikutnya dapat digunakan sebagai himpunan data. Jika as_dataset tidak dipanggil pada output tetapi hanya dipanggil pada input, maka hal tersebut akan menjadi noop dan input tidak akan digunakan sebagai himpunan data. Contoh kode di bawah ini menunjukkan penggunaan as_dataset yang benar:


   # 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()

Mengembalikan

Jenis Deskripsi

Output perantara sebagai Himpunan data.

as_download

Gunakan PipelineData sebagai unduhan.

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

Parameter

Nama Deskripsi
input_name
str

Gunakan untuk menentukan nama untuk input ini.

nilai default: None
path_on_compute
str

Jalur pada komputasi untuk pengunduhan.

nilai default: None
overwrite

Gunakan untuk menunjukkan apakah akan menimpa data yang ada.

nilai default: None

Mengembalikan

Jenis Deskripsi

InputPortBinding dengan PipelineData ini sebagai sumbernya.

as_input

Buat InputPortBinding dan tentukan nama input (tetapi gunakan mode default).

as_input(input_name)

Parameter

Nama Deskripsi
input_name
Diperlukan
str

Gunakan untuk menentukan nama untuk input ini.

Mengembalikan

Jenis Deskripsi

InputPortBinding dengan PipelineData ini sebagai sumbernya.

as_mount

Gunakan PipelineData sebagai mount.

as_mount(input_name=None)

Parameter

Nama Deskripsi
input_name
str

Gunakan untuk menentukan nama untuk input ini.

nilai default: None

Mengembalikan

Jenis Deskripsi

InputPortBinding dengan PipelineData ini sebagai sumbernya.

create_input_binding

Buat pengikatan input.

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

Parameter

Nama Deskripsi
input_name
str

Nama input.

nilai default: None
mode
str

Mode untuk mengakses PipelineData ("mount" atau "download").

nilai default: None
path_on_compute
str

Untuk mode "unduh", jalur pada komputasi data akan berada.

nilai default: None
overwrite

Untuk mode "unduh", apakah akan menimpa data yang ada.

nilai default: None

Mengembalikan

Jenis Deskripsi

InputPortBinding dengan PipelineData ini sebagai sumbernya.

get_env_variable_name

Kembalikan nama variabel lingkungan untuk PipelineData ini.

get_env_variable_name()

Mengembalikan

Jenis Deskripsi
str

Nama variabel lingkungan.

Atribut

data_type

Jenis data yang akan dihasilkan.

Mengembalikan

Jenis Deskripsi
str

Nama jenis data.

datastore

Datastore tempat PipelineData akan berada.

Mengembalikan

Jenis Deskripsi

Objek Datastore.

name

Nama objek PipelineData.

Mengembalikan

Jenis Deskripsi
str

Nama.