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.

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.

inputs
list[Union[<xref:azureml.pipeline.core.graph.InputPortBinding,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputAbstractDataset,azureml.data.data_reference.DataReference,azureml.pipeline.core.PortDataReference,azureml.pipeline.core.builder.PipelineData,azureml.data.dataset_consumption_config.DatasetConsumptionConfig>]]
nilai default: None

Daftar pengikatan port input.

outputs
list[Union[<xref:azureml.pipeline.core.builder.PipelineData,azureml.data.output_dataset_config.OutputDatasetConfig,azureml.pipeline.core.pipeline_output_dataset.PipelineOutputAbstractDataset,azureml.pipeline.core.graph.OutputPortBinding>]]
nilai default: None

Daftar pengikatan port output

metrics_output
Union[<xref:azureml.pipeline.core.builder.PipelineData,azureml.data.data_reference.DataReference,azureml.pipeline.core.graph.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 ulang hasil sebelumnya saat dijalankan ulang dengan pengaturan yang sama. Penggunaan ulang 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 berdasarkan apakah data dasar telah berubah.

version
str
nilai default: None

Tag versi opsional untuk menunjukkan perubahan fungsionalitas untuk modul.

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 penuh 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 ke.

default_datastore
Union[<xref:azureml.data.azure_storage_datastore.AbstractAzureStorageDatastore,azureml.data.azure_data_lake_datastore.AzureDataLakeDatastore>]
Diperlukan

Datastore default.

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

Konteks grafik.

Mengembalikan

Node yang dibuat.

Tipe hasil