HyperDriveStep Kelas
Membuat langkah Alur Azure ML untuk menjalankan penyetelan hyperparameter untuk pelatihan model Pembelajaran Mesin.
Sebagai contoh menggunakan HyperDriveStep, lihat notebook https://aka.ms/pl-hyperdrive.
Buat langkah Azure ML Pipeline untuk menjalankan penyetelan hyperparameter untuk pelatihan model Azure Machine Learning.
- Warisan
-
HyperDriveStep
Konstruktor
HyperDriveStep(name, hyperdrive_config, estimator_entry_script_arguments=None, inputs=None, outputs=None, metrics_output=None, allow_reuse=True, version=None)
Parameter
Nama | Deskripsi |
---|---|
name
Diperlukan
|
[Diperlukan] Nama langkah. |
hyperdrive_config
Diperlukan
|
[Diperlukan] HyperDriveConfig yang menetapkan konfigurasi untuk menjalankan HyperDrive. |
estimator_entry_script_arguments
|
Daftar argumen baris perintah untuk skrip entri penghitung. Jika skrip entri Penghitung tidak menerima argumen baris perintah, set nilai parameter ini ke daftar kosong. Nilai default: None
|
inputs
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Daftar pengikatan port input. Nilai default: None
|
outputs
|
Daftar pengikatan port output Nilai default: None
|
metrics_output
|
Nilai opsional yang menentukan lokasi untuk menyimpan metrik eksekusi HyperDrive sebagai file JSON. Nilai default: None
|
allow_reuse
|
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. Nilai default: True
|
version
|
Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk modul. Nilai default: None
|
name
Diperlukan
|
[Diperlukan] Nama langkah. |
hyperdrive_config
Diperlukan
|
[Diperlukan] HyperDriveConfig yang menetapkan konfigurasi untuk menjalankan HyperDrive. |
estimator_entry_script_arguments
Diperlukan
|
Daftar argumen baris perintah untuk skrip entri penghitung. Jika skrip entri Penghitung tidak menerima argumen baris perintah, set nilai parameter ini ke daftar kosong. |
inputs
Diperlukan
|
list[Union[InputPortBinding, PipelineOutputAbstractDataset, DataReference, PortDataReference, PipelineData, DatasetConsumptionConfig]]
Daftar pengikatan port input. |
outputs
Diperlukan
|
Daftar pengikatan port output. |
metrics_output
Diperlukan
|
Nilai opsional yang menentukan lokasi untuk menyimpan metrik eksekusi HyperDrive sebagai file JSON. |
allow_reuse
Diperlukan
|
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
Diperlukan
|
versi |
Keterangan
Perhatikan bahwa argumen ke skrip entri yang digunakan dalam objek penghitung (misalnya, objek TensorFlow) harus ditetapkan sebagai daftar menggunakan parameter estimator_entry_script_arguments
saat membuat HyperDriveStep. Parameter estimator script_params
menerima kamus. Namun, parameter estimator_entry_script_argument
mengharapkan argumen sebagai daftar.
Inisialisasi HyperDriveStep melibatkan penentuan daftar objek DataReference dengan parameter inputs
. Di Alur Azure ML, langkah alur dapat mengambil output langkah lain atau objek DataReference sebagai input. Oleh karena itu, saat membuat HyperDriveStep, parameter inputs
dan outputs
harus diatur secara eksplisit, yang mengambil alih parameter inputs
yang ditentukan dalam objek Penghitung.
Praktik terbaik untuk bekerja dengan HyperDriveStep adalah menggunakan folder terpisah untuk skrip dan file dependen apa pun yang terkait dengan langkah, dan tentukan folder tersebut sebagai objek penghitung source_directory
. Sebagai contoh, lihat parameter source_directory
kelas TensorFlow. Melakukannya memiliki dua keuntungan. Pertama, itu membantu mengurangi ukuran snapshot yang dibuat untuk langkah, karena hanya yang diperlukan untuk langkahnya yang di-snapshot. Kedua, output langkah dari eksekusi sebelumnya dapat digunakan ulang jika tidak ada perubahan pada source_directory
yang akan memicu pengunggahan ulang snaphot.
Contoh berikut menunjukkan cara menggunakan HyperDriveStep di Alur Azure Machine Learning.
metrics_output_name = 'metrics_output'
metrics_data = PipelineData(name='metrics_data',
datastore=datastore,
pipeline_output_name=metrics_output_name,
training_output=TrainingOutput("Metrics"))
model_output_name = 'model_output'
saved_model = PipelineData(name='saved_model',
datastore=datastore,
pipeline_output_name=model_output_name,
training_output=TrainingOutput("Model",
model_file="outputs/model/saved_model.pb"))
hd_step_name='hd_step01'
hd_step = HyperDriveStep(
name=hd_step_name,
hyperdrive_config=hd_config,
inputs=[data_folder],
outputs=[metrics_data, saved_model])
Sampel lengkap tersedia dari https://github.com/Azure/MachineLearningNotebooks/blob/master/how-to-use-azureml/machine-learning-pipelines/intro-to-pipelines/aml-pipelines-parameter-tuning-with-hyperdrive.ipynb
Metode
create_node |
Buat node dari langkah HyperDrive dan tambahkan ke grafik yang diberikan. Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur ditunjukkan 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 kerjanya. |
create_node
Buat node dari langkah HyperDrive dan tambahkan ke grafik yang diberikan.
Metode ini tidak dimaksudkan untuk digunakan secara langsung. Ketika alur ditunjukkan 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 kerjanya.
create_node(graph, default_datastore, context)
Parameter
Nama | Deskripsi |
---|---|
graph
Diperlukan
|
Objek grafik untuk menambahkan node. |
default_datastore
Diperlukan
|
Datastore default. |
context
Diperlukan
|
<xref:azureml.pipeline.core._GraphContext>
Konteks grafik. |
Mengembalikan
Jenis | Deskripsi |
---|---|
Node yang dibuat. |