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

name
str
Diperlukan

[Diperlukan] Nama langkah.

hyperdrive_config
HyperDriveConfig
Diperlukan

[Diperlukan] HyperDriveConfig yang menetapkan konfigurasi untuk menjalankan HyperDrive.

estimator_entry_script_arguments
list
nilai default: None

Daftar argumen baris perintah untuk skrip entri penghitung. Jika skrip entri Penghitung tidak menerima argumen baris perintah, set nilai parameter ini ke daftar kosong.

outputs
list[Union[PipelineData, OutputDatasetConfig, PipelineOutputAbstractDataset, OutputPortBinding]]
nilai default: None

Daftar pengikatan port output

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
nilai default: None

Nilai opsional yang menentukan lokasi untuk menyimpan metrik eksekusi HyperDrive sebagai file JSON.

allow_reuse
bool
nilai default: True

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
nilai default: None

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk modul.

name
str
Diperlukan

[Diperlukan] Nama langkah.

hyperdrive_config
HyperDriveConfig
Diperlukan

[Diperlukan] HyperDriveConfig yang menetapkan konfigurasi untuk menjalankan HyperDrive.

estimator_entry_script_arguments
list
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.

outputs
list[Union[PipelineData, PipelineOutputAbstractDataset, OutputPortBinding]]
Diperlukan

Daftar pengikatan port output.

metrics_output
Union[PipelineData, DataReference, OutputPortBinding]
Diperlukan

Nilai opsional yang menentukan lokasi untuk menyimpan metrik eksekusi HyperDrive sebagai file JSON.

allow_reuse
bool
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
str
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

graph
Graph
Diperlukan

Objek grafik untuk menambahkan node.

default_datastore
Union[AbstractAzureStorageDatastore, AzureDataLakeDatastore]
Diperlukan

Datastore default.

context
<xref:azureml.pipeline.core._GraphContext>
Diperlukan

Konteks grafik.

Mengembalikan

Node yang dibuat.

Tipe hasil