PythonScriptStep Kelas
Membuat langkah Alur Azure Machine Learning yang menjalankan skrip Python.
Untuk contoh menggunakan PythonScriptStep, lihat notebook https://aka.ms/pl-get-started.
Buat langkah Alur Azure ML yang menjalankan skrip Python.
- Warisan
-
azureml.pipeline.core._python_script_step_base._PythonScriptStepBasePythonScriptStep
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
- arguments
- list
Argumen baris perintah untuk file skrip Python. Argumen akan diteruskan ke komputasi melalui arguments
parameter di RunConfiguration.
Untuk detail selengkapnya tentang cara menangani argumen seperti simbol khusus, lihat RunConfiguration.
- compute_target
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[Diperlukan] Target komputasi untuk digunakan. Jika tidak ditentukan, target dari runconfig akan digunakan. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama untai target komputasi di ruang kerja. Secara opsional jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tupel ('nama target komputasi', 'jenis target komputasi') untuk menghindari pengambilan objek target komputasi (jenis AmlCompute adalah 'AmlCompute' dan jenis RemoteCompute adalah 'VirtualMachine').
- runconfig
- RunConfiguration
RunConfiguration opsional untuk 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
- dict[str, PipelineParameter]
Mengambil alih properti runconfig saat runtime bahasa umum menggunakan pasangan nilai kunci masing-masing dengan nama properti runconfig dan PipelineParameter untuk properti itu.
Nilai yang didukung: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Daftar pengikatan port input.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Daftar pengikatan port output.
- params
- dict
Kamus pasangan nama-nilai yang terdaftar sebagai variabel lingkungan dengan "AML_PARAMETER_".
- source_directory
- str
Folder yang berisi skrip Python, conda env, serta sumber daya lain yang digunakan dalam langkah terkait.
- allow_reuse
- bool
Menunjukkan apakah langkah tersebut harus menggunakan kembali hasil sebelumnya saat dijalankan lagi 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 ulang. Saat menggunakan ulang langkah tersebut, daripada mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera dibuat tersedia untuk langkah selanjutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan ulang ditentukan oleh apakah definisi himpunan data telah berubah, bukan oleh apakah data yang mendasarinya telah berubah.
- version
- str
Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.
- hash_paths
- list
TIDAK DIGUNAKAN LAGI: tidak lagi diperlukan.
Daftar jalur ke hash saat memeriksa perubahan ke konten langkah. Jika tidak ada perubahan yang terdeteksi, alur akan menggunakan ulang konten langkah dari eksekusi sebelumnya. Secara default, konten source_directory
di-hash kecuali untuk file yang terdaftar di .amlignore atau .gitignore.
- arguments
- [str]
Argumen baris perintah untuk file skrip Python. Argumen akan diteruskan ke komputasi melalui arguments
parameter di RunConfiguration.
Untuk detail selengkapnya tentang cara menangani argumen seperti simbol khusus, lihat RunConfiguration.
- compute_target
- Union[DsvmCompute, AmlCompute, RemoteCompute, HDInsightCompute, str, tuple]
[Diperlukan] Target komputasi untuk digunakan. Jika tidak ditentukan, target dari runconfig akan digunakan. Parameter ini dapat ditentukan sebagai objek target komputasi atau nama untai target komputasi di ruang kerja. Secara opsional jika target komputasi tidak tersedia pada waktu pembuatan alur, Anda dapat menentukan tupel ('nama target komputasi', 'jenis target komputasi') untuk menghindari pengambilan objek target komputasi (jenis AmlCompute adalah 'AmlCompute' dan jenis RemoteCompute adalah 'VirtualMachine').
- runconfig
- RunConfiguration
RunConfiguration opsional untuk 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
- dict[str, PipelineParameter]
Mengambil alih properti runconfig saat runtime bahasa umum menggunakan pasangan nilai kunci masing-masing dengan nama properti runconfig dan PipelineParameter untuk properti itu.
Nilai yang didukung: 'NodeCount', 'MpiProcessCountPerNode', 'TensorflowWorkerCount', 'TensorflowParameterServerCount'
- inputs
- list[Union[InputPortBinding, DataReference, PortDataReference, PipelineData, PipelineOutputFileDataset, PipelineOutputTabularDataset, DatasetConsumptionConfig]]
Daftar pengikatan port input.
- outputs
- list[Union[PipelineData, OutputDatasetConfig, PipelineOutputFileDataset, PipelineOutputTabularDataset, OutputPortBinding]]
Daftar pengikatan port output.
- params
- <xref:<xref:{str: str}>>
Kamus pasangan nama-nilai. Terdaftar sebagai variabel lingkungan dengan ">>AML_PARAMETER_<<".
- source_directory
- str
Folder yang berisi skrip Python, conda env, serta sumber daya lain yang digunakan dalam langkah terkait.
- allow_reuse
- bool
Menunjukkan apakah langkah tersebut harus menggunakan kembali hasil sebelumnya saat dijalankan lagi 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 ulang. Saat menggunakan ulang langkah tersebut, daripada mengirimkan pekerjaan ke komputasi, hasil dari eksekusi sebelumnya segera dibuat tersedia untuk langkah selanjutnya. Jika Anda menggunakan himpunan data Azure Machine Learning sebagai input, penggunaan ulang ditentukan oleh apakah definisi himpunan data telah berubah, bukan oleh apakah data yang mendasarinya telah berubah.
- version
- str
Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk langkah tersebut.
- hash_paths
- list
TIDAK DIGUNAKAN LAGI: tidak lagi diperlukan.
Daftar jalur ke hash saat memeriksa perubahan ke konten langkah. Jika tidak ada perubahan yang terdeteksi, alur akan menggunakan ulang konten langkah dari eksekusi sebelumnya. Secara default, konten source_directory
di-hash kecuali untuk file yang terdaftar di .amlignore atau .gitignore.
Keterangan
PythonScriptStep adalah langkah dasar dan 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 tentukan folder tersebut dengan parameter source_directory
.
Mengikuti praktik terbaik ini memiliki dua keuntungan. Pertama, ini membantu mengurangi ukuran snapshot yang dibuat untuk langkah tersebut karena yang perlu dilakukan hanyalah melakukan snapshot. Kedua, output langkah dari eksekusi sebelumnya dapat digunakan kembali jika tidak ada perubahan pada source_directory
yang akan memicu unggahan ulang snapshot.
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 mencakup DatasetConsumptionConfig untuk input dan OutputDatasetConfig, PipelineOutputAbstractDataset, dan PipelineData untuk input dan output.
Di bawah ini adalah contoh penggunaan Dataset sebagai langkah input dan output:
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 merujuk ke halaman dokumentasi terkait untuk contoh penggunaan jenis input/output lainnya.
Metode
create_node |
Buat node 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 menunjukkan alur kerja. |
create_node
Buat node 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 menunjukkan alur kerja.
create_node(graph, default_datastore, context)
Parameter
- default_datastore
- Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Datastore default.
- context
- <xref:azureml.pipeline.core._GraphContext>
Konteks grafik.
Mengembalikan
Node yang dibuat.
Tipe hasil
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk