PythonScriptStep Kelas
Membuat langkah Alur Azure ML yang menjalankan skrip Python.
Untuk contoh penggunaan PythonScriptStep, lihat buku catatan https://aka.ms/pl-get-started.
Buat langkah Alur Azure ML yang menjalankan skrip Python.
Konstruktor
PythonScriptStep(script_name, name=None, arguments=None, compute_target=None, runconfig=None, runconfig_pipeline_params=None, inputs=None, outputs=None, params=None, source_directory=None, allow_reuse=True, version=None, hash_paths=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
script_name
Diperlukan
|
[Diperlukan] Nama skrip Python relatif terhadap |
|
name
|
Nama langkah. Jika tidak ditentukan, Nilai default: None
|
|
arguments
|
Argumen baris perintah untuk file skrip Python. Argumen akan diteruskan ke komputasi melalui Nilai default: None
|
|
compute_target
|
[Diperlukan] Target komputasi yang akan digunakan. Jika tidak ditentukan, target dari runconfig akan digunakan. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama string target komputasi pada ruang kerja. Secara opsional jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tuple ('nama target komputasi', 'jenis target komputasi') untuk menghindari pengambilan objek target komputasi (jenis AmlCompute adalah 'AmlCompute' dan jenis RemoteCompute adalah 'VirtualMachine'). Nilai default: None
|
|
runconfig
|
RunConfiguration opsional yang akan digunakan. RunConfiguration dapat digunakan untuk menentukan persyaratan tambahan untuk eksekusi, seperti dependensi conda dan gambar docker. Jika tidak ditentukan, runconfig default akan dibuat. Nilai default: None
|
|
runconfig_pipeline_params
|
Mengambil alih properti runconfig saat runtime menggunakan pasangan kunci-nilai masing-masing dengan nama properti runconfig dan PipelineParameter untuk properti tersebut. Nilai yang didukung: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' Nilai default: None
|
|
inputs
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Daftar pengikatan port input. Nilai default: None
|
|
outputs
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Daftar pengikatan port output. Nilai default: None
|
|
params
|
Kamus pasangan nilai nama yang terdaftar sebagai variabel lingkungan dengan "AML_PARAMETER_". Nilai default: None
|
|
source_directory
|
Folder yang berisi skrip Python, conda env, dan sumber daya lain yang digunakan dalam langkah tersebut. Nilai default: None
|
|
allow_reuse
|
Menunjukkan apakah langkah harus menggunakan kembali hasil sebelumnya saat dijalankan kembali dengan pengaturan yang sama. Penggunaan kembali diaktifkan secara default. Jika konten langkah (skrip/dependensi) serta input dan parameter tetap tidak berubah, output dari eksekusi sebelumnya dari langkah ini digunakan kembali. Saat menggunakan kembali langkah tersebut, alih-alih mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera tersedia untuk langkah-langkah berikutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan kembali ditentukan oleh apakah definisi himpunan data telah berubah, bukan dengan apakah data yang mendasar telah berubah. Nilai default: True
|
|
version
|
Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut. Nilai default: None
|
|
hash_paths
|
TIDAK DIGUNAKAN LAGI: tidak lagi diperlukan. Daftar jalur ke hash saat memeriksa perubahan pada konten langkah. Jika tidak ada perubahan yang terdeteksi, alur akan menggunakan kembali konten langkah dari eksekusi sebelumnya. Secara default, konten Nilai default: None
|
|
script_name
Diperlukan
|
[Diperlukan] Nama skrip Python relatif terhadap |
|
name
Diperlukan
|
Nama langkah. Jika tidak ditentukan, |
|
arguments
Diperlukan
|
[str]
Argumen baris perintah untuk file skrip Python. Argumen akan diteruskan ke komputasi melalui |
|
compute_target
Diperlukan
|
[Diperlukan] Target komputasi yang akan digunakan. Jika tidak ditentukan, target dari runconfig akan digunakan. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama string target komputasi pada ruang kerja. Secara opsional jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tuple ('nama target komputasi', 'jenis target komputasi') untuk menghindari pengambilan objek target komputasi (jenis AmlCompute adalah 'AmlCompute' dan jenis RemoteCompute adalah 'VirtualMachine'). |
|
runconfig
Diperlukan
|
RunConfiguration opsional yang akan digunakan. RunConfiguration dapat digunakan untuk menentukan persyaratan tambahan untuk eksekusi, seperti dependensi conda dan gambar docker. Jika tidak ditentukan, runconfig default akan dibuat. |
|
runconfig_pipeline_params
Diperlukan
|
Mengambil alih properti runconfig saat runtime menggunakan pasangan kunci-nilai masing-masing dengan nama properti runconfig dan PipelineParameter untuk properti tersebut. Nilai yang didukung: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount' |
|
inputs
Diperlukan
|
list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Daftar pengikatan port input. |
|
outputs
Diperlukan
|
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Daftar pengikatan port output. |
|
params
Diperlukan
|
<xref:<xref:{str: str}>>
Kamus pasangan nama-nilai. Terdaftar sebagai variabel lingkungan dengan ">>AML_PARAMETER_<<". |
|
source_directory
Diperlukan
|
Folder yang berisi skrip Python, conda env, dan sumber daya lain yang digunakan dalam langkah tersebut. |
|
allow_reuse
Diperlukan
|
Menunjukkan apakah langkah harus menggunakan kembali hasil sebelumnya saat dijalankan kembali dengan pengaturan yang sama. Penggunaan kembali diaktifkan secara default. Jika konten langkah (skrip/dependensi) serta input dan parameter tetap tidak berubah, output dari eksekusi sebelumnya dari langkah ini digunakan kembali. Saat menggunakan kembali langkah tersebut, alih-alih mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera tersedia untuk langkah-langkah berikutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan kembali ditentukan oleh apakah definisi himpunan data telah berubah, bukan dengan apakah data yang mendasar telah berubah. |
|
version
Diperlukan
|
Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut. |
|
hash_paths
Diperlukan
|
TIDAK DIGUNAKAN LAGI: tidak lagi diperlukan. Daftar jalur ke hash saat memeriksa perubahan pada konten langkah. Jika tidak ada perubahan yang terdeteksi, alur akan menggunakan kembali konten langkah dari eksekusi sebelumnya. Secara default, konten |
Keterangan
PythonScriptStep adalah langkah dasar bawaan untuk menjalankan Skrip Python pada target komputasi. Dibutuhkan nama skrip dan parameter opsional lainnya seperti argumen untuk skrip, target komputasi, input, dan output. Jika tidak ada target komputasi yang ditentukan, target komputasi default untuk ruang kerja akan digunakan. Anda juga dapat menggunakan RunConfiguration untuk menentukan persyaratan untuk PythonScriptStep, seperti dependensi conda dan gambar docker.
Praktik terbaik untuk bekerja dengan PythonScriptStep adalah menggunakan folder terpisah untuk skrip dan file dependen apa pun yang terkait dengan langkah tersebut, dan menentukan folder tersebut source_directory dengan parameter .
Mengikuti praktik terbaik ini memiliki dua manfaat. Pertama, ini membantu mengurangi ukuran rekam jepret yang dibuat untuk langkah tersebut karena hanya yang diperlukan untuk langkah yang direkam jepret. Kedua, output langkah dari eksekusi sebelumnya dapat digunakan kembali jika tidak ada perubahan pada source_directory yang akan memicu pengunggahan ulang rekam jepret.
Contoh kode berikut menunjukkan penggunaan PythonScriptStep dalam skenario pelatihan pembelajaran mesin. Untuk detail selengkapnya tentang contoh ini, lihat https://aka.ms/pl-first-pipeline.
from azureml.pipeline.steps import PythonScriptStep
trainStep = PythonScriptStep(
script_name="train.py",
arguments=["--input", blob_input_data, "--output", output_data1],
inputs=[blob_input_data],
outputs=[output_data1],
compute_target=compute_target,
source_directory=project_folder
)
PythonScriptSteps mendukung sejumlah jenis input dan output. Ini termasuk DatasetConsumptionConfig untuk input dan OutputDatasetConfig, PipelineOutputAbstractDataset, dan PipelineData untuk input dan output.
Di bawah ini adalah contoh penggunaan Dataset sebagai input dan output langkah:
from azureml.core import Dataset
from azureml.pipeline.steps import PythonScriptStep
from azureml.pipeline.core import Pipeline, PipelineData
# get input dataset
input_ds = Dataset.get_by_name(workspace, 'weather_ds')
# register pipeline output as dataset
output_ds = PipelineData('prepared_weather_ds', datastore=datastore).as_dataset()
output_ds = output_ds.register(name='prepared_weather_ds', create_new_version=True)
# configure pipeline step to use dataset as the input and output
prep_step = PythonScriptStep(script_name="prepare.py",
inputs=[input_ds.as_named_input('weather_ds')],
outputs=[output_ds],
compute_target=compute_target,
source_directory=project_folder)
Silakan referensikan halaman dokumentasi yang sesuai untuk contoh penggunaan jenis input/output lainnya.
Metode
| create_node |
Buat simpul untuk PythonScriptStep dan tambahkan ke grafik yang ditentukan. Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur dibuat dengan langkah ini, Azure ML secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah tersebut dapat ditambahkan ke grafik alur yang mewakili alur kerja. |
create_node
Buat simpul untuk PythonScriptStep dan tambahkan ke grafik yang ditentukan.
Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur dibuat dengan langkah ini, Azure ML secara otomatis meneruskan parameter yang diperlukan melalui metode ini sehingga langkah tersebut dapat ditambahkan ke grafik alur yang mewakili alur kerja.
create_node(graph, default_datastore, context)
Parameter
| Nama | Deskripsi |
|---|---|
|
graph
Diperlukan
|
Objek grafik untuk menambahkan simpul. |
|
default_datastore
Diperlukan
|
Datastore default. |
|
context
Diperlukan
|
<xref:azureml.pipeline.core._GraphContext>
Konteks grafik. |
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Simpul yang dibuat. |