Bagikan melalui


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
str

[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

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
str

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk modul.

Nilai default: None
name
Diperlukan
str

[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

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
str

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.