Bagikan melalui


hyperdrive Paket

Berisi modul dan kelas yang mendukung penyetelan hiperparameter.

Hiperparameter adalah parameter yang dapat disesuaikan yang Anda pilih untuk pelatihan model yang memandu proses pelatihan. Paket HyperDrive membantu Anda mengotomatiskan memilih parameter ini. Misalnya, Anda dapat menentukan ruang pencarian parameter sebagai diskrit atau kontinu, dan metode pengambilan sampel di atas ruang pencarian sebagai acak, kisi, atau Bayesian. Selain itu, Anda dapat menentukan metrik utama untuk dioptimalkan dalam eksperimen penyetelan hiperparameter, dan apakah akan meminimalkan atau memaksimalkan metrik tersebut. Anda juga dapat menentukan kebijakan penghentian awal yang mengatur agar eksperimen berkinerja buruk dibatalkan dan yang baru dimulai. Untuk menentukan alur kerja pembelajaran mesin yang dapat digunakan kembali untuk HyperDrive, gunakan hyper_drive_step untuk membuat Pipeline.

Modul

error_definition

Definisi kode galat untuk SDK HyperDrive.

error_strings

Kumpulan string kesalahan yang digunakan di seluruh SDK HyperDrive.

exceptions

Pengecualian yang diberikan oleh HyperDrive.

parameter_expressions

Menentukan fungsi yang dapat digunakan di HyperDrive untuk menggambarkan ruang pencarian hyperparameter.

Fungsi-fungsi ini digunakan untuk menentukan berbagai jenis distribusi hyperparameter. Distribusi ditentukan saat Anda mengonfigurasi pengambilan sampel untuk sapuan hyperparameter. Misalnya, saat Anda menggunakan kelas RandomParameterSampling, Anda dapat memilih untuk mengambil sampel dari sekumpulan nilai diskrit atau distribusi nilai berkelanjutan. Dalam kasus ini, Anda dapat menggunakan fungsi choice untuk menghasilkan kumpulan nilai diskrit dan fungsi uniform untuk menghasilkan distribusi nilai berkelanjutan.

Untuk contoh menggunakan fungsi-fungsi ini, lihat tutorial: https://docs.microsoft.com/azure/machine-learning/how-to-tune-hyperparameters.

Kelas

BanditPolicy

Tentukan kebijakan penghentian dini berdasarkan kriteria slack, dan frekuensi serta interval penundaan untuk evaluasi.

Menginisialisasi BanditPolicy dengan faktor kelemahan, slack_amount, dan interval evaluasi.

BayesianParameterSampling

Menentukan pengambilan sampel Bayesian melalui ruang pencarian hyperparameter.

Pengambilan sampel Bayesian mencoba untuk memilih sampel hyperparameter berikutnya dengan cerdas, berdasarkan bagaimana sampel sebelumnya dilakukan, sehingga sampel baru meningkatkan metrik utama yang dilaporkan.

Menginisialisasi BayesianParameterSampling.

EarlyTerminationPolicy

Kelas dasar abstrak untuk semua kebijakan penghentian awal.

Menginisialisasi kebijakan penghentian dini.

GridParameterSampling

Mendefinisikan pengambilan sampel grid di atas ruang pencarian hiperparameter.

Menginisialisasi GridParameterSampling.

HyperDriveConfig

Konfigurasi yang menentukan proses HyperDrive.

Konfigurasi HyperDrive mencakup informasi tentang pengambilan sampel ruang hyperparameter, kebijakan penghentian, metrik utama, resume dari konfigurasi, estimator, dan target komputasi untuk menjalankan eksperimen yang sedang berjalan.

Menginisialisasi HyperDriveConfig.

HyperDriveRun

HyperDriveRun berisi detail eksperimen HyperDrive yang dikirimkan.

Kelas ini dapat digunakan untuk mengelola, memeriksa status, dan mengambil detail eksekusi untuk eksekusi HyperDrive dan masing-masing eksekusi turunan yang dihasilkan.

Menginisialisasi eksekusi HyperDrive.

HyperDriveRunConfig

Konfigurasi yang menentukan proses HyperDrive.

Konfigurasi mencakup informasi tentang pengambilan sampel ruang parameter, kebijakan penghentian, metrik utama, penghitung, serta target komputasi sebagai tempat untuk menjalankan eksekusi ekperimen.

Menginisialisasi HyperDriveConfig.

HyperParameterSampling

Kelas dasar abstrak untuk semua algoritma pengambilan sampel hiperparameter.

Kelas ini merangkum ruang hiperparameter, metode pengambilan sampel, dan properti tambahan untuk kelas pengambilan sampel turunan: BayesianParameterSampling, GridParameterSampling, dan RandomParameterSampling.

Menginisialisasi HyperParameterSampling.

MedianStoppingPolicy

Menentukan kebijakan penghentian awal berdasarkan rata-rata metrik utama dari semua eksekusi yang berjalan.

Menginisialisasi MedianStoppingPolicy.

NoTerminationPolicy

Menentukan bahwa tidak ada kebijakan penghentian dini yang diterapkan.

Setiap eksekusi akan dijalankan sampai selesai.

Menginisialisasi NoTerminationPolicy.

RandomParameterSampling

Mendefinisikan pengambilan sampel acak di atas ruang pencarian hiperparameter.

Menginisialisasi randomParametersampling.

TruncationSelectionPolicy

Mendefinisikan kebijakan penghentian awal yang membatalkan persentase eksekusi tertentu pada setiap interval evaluasi.

Menginisialisasi TruncationSelectionPolicy.

Enum

PrimaryMetricGoal

Menentukan sasaran metrik yang didukung untuk penyetelan hiperparameter.

Tujuan metrik digunakan untuk menentukan apakah nilai metrik yang lebih tinggi adalah hal yang lebih baik atau lebih buruk. Tujuan metrik digunakan saat membandingkan eksekusi berdasarkan metrik utama. Misalnya, Anda mungkin ingin memaksimalkan akurasi atau meminimalkan kesalahan.

Nama dan sasaran metrik utama ditentukan di kelas HyperDriveConfig saat Anda mengonfigurasi eksekusi HyperDrive.

Fungsi

choice

Tentukan sekumpulan opsi diskrit untuk diambil sampelnya.

choice(*options)

Parameter

Nama Deskripsi
options
Diperlukan

Daftar opsi untuk dipilih.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

lognormal

Tentukan nilai yang ditarik sesuai dengan exp(normal(mu, sigma)).

Logaritma nilai pengembalian biasanya didistribusikan. Saat mengoptimalkan, variabel ini dibatasi untuk menjadi positif.

lognormal(mu, sigma)

Parameter

Nama Deskripsi
mu
Diperlukan

Rata-rata distribusi normal.

sigma
Diperlukan

Simpangan baku distribusi normal.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

loguniform

Tentukan distribusi seragam log.

Sebuah nilai digambar menurut exp(uniform(min_value, max_value)) sehingga logaritma dari nilai kembalian terdistribusi secara merata. Saat mengoptimalkan, variabel ini dibatasi ke interval [exp(min_value), exp(max_value)]

loguniform(min_value, max_value)

Parameter

Nama Deskripsi
min_value
Diperlukan

Nilai minimum dalam rentang akan menjadi exp(min_value)(inklusif).

max_value
Diperlukan

Nilai maksimum dalam rentang akan menjadi exp(max_value) (inklusif).

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

normal

Tentukan nilai riil yang biasanya didistribusikan dengan rata-rata mu dan sigma simpangan baku.

Saat mengoptimalkan, ini adalah variabel yang tidak dibatasi.

normal(mu, sigma)

Parameter

Nama Deskripsi
mu
Diperlukan

Rata-rata distribusi normal.

sigma
Diperlukan

Simpangan baku distribusi normal.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

qlognormal

Tentukan nilai seperti round(exp(normal(mu, sigma)) / q) * q.

Cocok untuk variabel diskrit sehubungan dengan tujuan yang halus dan semakin halus dengan ukuran variabel, yang dibatasi dari satu sisi.

qlognormal(mu, sigma, q)

Parameter

Nama Deskripsi
mu
Diperlukan

Rata-rata distribusi normal.

sigma
Diperlukan

Simpangan baku distribusi normal.

q
Diperlukan
int

Faktor penghalusan.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

qloguniform

Tentukan distribusi seragam dari bentuk round(exp(uniform(min_value, max_value) / q) * q.

Ini cocok untuk variabel diskrit sehubungan dengan tujuan yang "halus", dan menjadi lebih halus dengan ukuran nilai, tetapi yang harus dibatasi di atas dan di bawah.

qloguniform(min_value, max_value, q)

Parameter

Nama Deskripsi
min_value
Diperlukan

Nilai minimum dalam rentang (inklusif).

max_value
Diperlukan

Nilai maksimum dalam rentang (inklusif).

q
Diperlukan
int

Faktor penghalusan.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

qnormal

Tentukan nilai seperti round(normal(mu, sigma) / q) * q.

Cocok untuk variabel diskrit yang mungkin mengambil nilai di sekitar mu, tetapi pada dasarnya tidak terbatas.

qnormal(mu, sigma, q)

Parameter

Nama Deskripsi
mu
Diperlukan

Rata-rata distribusi normal.

sigma
Diperlukan

Simpangan baku distribusi normal.

q
Diperlukan
int

Faktor penghalusan.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

quniform

Tentukan distribusi seragam dari bentuk round(uniform(min_value, max_value) / q) * q.

Ini cocok untuk nilai diskrit yang tujuannya masih agak "halus", tetapi harus dibatasi baik di atas maupun di bawah.

quniform(min_value, max_value, q)

Parameter

Nama Deskripsi
min_value
Diperlukan

Nilai minimum dalam rentang (inklusif).

max_value
Diperlukan

Nilai maksimum dalam rentang (inklusif).

q
Diperlukan
int

Faktor penghalusan.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

randint

Tentukan satu set bilangan bulat acak dalam rentang [0, atas).

Semantik dari distribusi ini adalah bahwa tidak ada lagi korelasi dalam fungsi loss antara nilai-nilai bilangan bulat yang berdekatan, dibandingkan dengan nilai-nilai bilangan bulat yang lebih jauh. Ini adalah distribusi yang tepat untuk menggambarkan nilai awal acak misalnya. Jika fungsi loss mungkin lebih berkorelasi untuk nilai bilangan bulat terdekat, Anda mungkin harus menggunakan salah satu distribusi berkelanjutan "terkuantisasi", seperti quniform, qloguniform, qnormal, atau qlognormal.

randint(upper)

Parameter

Nama Deskripsi
upper
Diperlukan
int

Batas atas eksklusif untuk rentang bilangan bulat.

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.

uniform

Tentukan distribusi seragam dari mana sampel diambil.

uniform(min_value, max_value)

Parameter

Nama Deskripsi
min_value
Diperlukan

Nilai minimum dalam rentang (inklusif).

max_value
Diperlukan

Nilai maksimum dalam rentang (inklusif).

Mengembalikan

Jenis Deskripsi

Ekspresi stochastic.