Experiment Kelas
Mewakili titik masuk utama untuk membuat dan bekerja dengan eksperimen di Azure Machine Learning.
Eksperimen adalah kontainer uji coba yang mewakili beberapa eksekusi model.
Konstruktor eksperimen.
Konstruktor
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
Parameter
| Nama | Deskripsi |
|---|---|
|
workspace
Diperlukan
|
Objek ruang kerja yang berisi eksperimen. |
|
name
Diperlukan
|
Nama eksperimen. |
|
kwargs
Diperlukan
|
Kamus args kata kunci. |
|
workspace
Diperlukan
|
Objek ruang kerja yang berisi eksperimen. |
|
name
Diperlukan
|
Nama eksperimen. |
|
kwargs
Diperlukan
|
Kamus args kata kunci. |
|
_skip_name_validation
|
Nilai default: False
|
|
_id
|
Nilai default: None
|
|
_archived_time
|
Nilai default: None
|
|
_create_in_cloud
|
Nilai default: True
|
|
_experiment_dto
|
Nilai default: None
|
Keterangan
Eksperimen Azure Machine Learning mewakili kumpulan uji coba yang digunakan untuk memvalidasi hipotesis pengguna.
Dalam Azure Machine Learning, eksperimen diwakili oleh Experiment kelas dan uji coba diwakili oleh Run kelas .
Untuk mendapatkan atau membuat eksperimen dari ruang kerja, Anda meminta eksperimen menggunakan nama eksperimen. Nama eksperimen harus 3-36 karakter, dimulai dengan huruf atau angka, dan hanya boleh berisi huruf, angka, garis bawah, dan tanda hubung.
experiment = Experiment(workspace, "MyExperiment")
Jika eksperimen tidak ditemukan di ruang kerja, eksperimen baru dibuat.
Ada dua cara untuk menjalankan percobaan eksperimen. Jika Anda bereksperimen secara interaktif di Jupyter Notebook, gunakan start_logging Jika Anda mengirimkan eksperimen dari kode sumber atau jenis percobaan lain yang dikonfigurasi, gunakan submit
Kedua mekanisme membuat Run objek. Dalam skenario interaktif, gunakan metode pengelogan seperti log untuk menambahkan pengukuran dan metrik ke rekaman uji coba. Dalam skenario yang dikonfigurasi, gunakan metode status seperti get_status untuk mengambil informasi tentang eksekusi.
Dalam kedua kasus, Anda dapat menggunakan metode kueri seperti get_metrics untuk mengambil nilai saat ini, jika ada, dari pengukuran dan metrik uji coba apa pun.
Metode
| archive |
Arsipkan eksperimen. |
| delete |
Menghapus eksperimen di ruang kerja. |
| from_directory |
(Tidak digunakan lagi) Muat eksperimen dari jalur yang ditentukan. |
| get_docs_url |
Url ke dokumentasi untuk kelas ini. |
| get_runs |
Mengembalikan generator eksekusi untuk eksperimen ini, dalam urutan kronologis terbalik. |
| list |
Mengembalikan daftar eksperimen di ruang kerja. |
| reactivate |
Mengaktifkan kembali eksperimen yang diarsipkan. |
| refresh |
Mengembalikan versi terbaru eksperimen dari cloud. |
| remove_tags |
Hapus tag yang ditentukan dari eksperimen. |
| set_tags |
Tambahkan atau ubah sekumpulan tag pada eksperimen. Tag yang tidak diteruskan dalam kamus dibiarkan tidak tersentuh. |
| start_logging |
Mulai sesi pengelogan interaktif dan buat eksekusi interaktif dalam eksperimen yang ditentukan. |
| submit |
Kirim eksperimen dan kembalikan eksekusi aktif yang dibuat. |
| tag |
Tandai eksperimen dengan kunci string dan nilai string opsional. |
archive
Arsipkan eksperimen.
archive()
Keterangan
Setelah pengarsipan, eksperimen tidak akan dicantumkan secara default. Mencoba menulis ke eksperimen yang diarsipkan akan membuat eksperimen aktif baru dengan nama yang sama. Eksperimen yang diarsipkan dapat dipulihkan dengan memanggil reactivate selama tidak ada eksperimen aktif lain dengan nama yang sama.
delete
Menghapus eksperimen di ruang kerja.
static delete(workspace, experiment_id)
Parameter
| Nama | Deskripsi |
|---|---|
|
workspace
Diperlukan
|
Ruang kerja tempat eksperimen berada. |
|
experiment_id
Diperlukan
|
Id eksperimen eksperimen yang akan dihapus. |
from_directory
(Tidak digunakan lagi) Muat eksperimen dari jalur yang ditentukan.
static from_directory(path, auth=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
path
Diperlukan
|
Direktori yang berisi file konfigurasi eksperimen. |
|
auth
|
Objek autentikasi. Jika Tidak ada kredensial Azure CLI default yang akan digunakan atau API akan meminta kredensial. Nilai default: None
|
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Mengembalikan Eksperimen |
get_docs_url
get_runs
Mengembalikan generator eksekusi untuk eksperimen ini, dalam urutan kronologis terbalik.
get_runs(type=None, tags=None, properties=None, include_children=False)
Parameter
| Nama | Deskripsi |
|---|---|
|
type
|
Filter generator eksekusi yang dikembalikan berdasarkan jenis yang disediakan. Lihat add_type_provider untuk membuat jenis eksekusi. Nilai default: None
|
|
tags
|
Filter berjalan menurut "tag" atau {"tag": "value"}. Nilai default: None
|
|
properties
|
Filter berjalan menurut "properti" atau {"properti": "value"} Nilai default: None
|
|
include_children
|
Secara default, ambil hanya eksekusi tingkat atas. Atur ke true untuk mencantumkan semua eksekusi. Nilai default: False
|
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Daftar eksekusi yang cocok dengan filter yang disediakan. |
list
Mengembalikan daftar eksperimen di ruang kerja.
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
workspace
Diperlukan
|
Ruang kerja tempat untuk mencantumkan eksperimen. |
|
experiment_name
|
Nama opsional untuk memfilter eksperimen. Nilai default: None
|
|
view_type
|
Nilai enum opsional untuk memfilter atau menyertakan eksperimen yang diarsipkan. Nilai default: ActiveOnly
|
|
tags
|
Kunci tag opsional atau kamus pasangan kunci-nilai tag untuk memfilter eksperimen. Nilai default: None
|
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Daftar objek eksperimen. |
reactivate
Mengaktifkan kembali eksperimen yang diarsipkan.
reactivate(new_name=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
new_name
Diperlukan
|
Tidak didukung lagi |
Keterangan
Eksperimen yang diarsipkan hanya dapat diaktifkan kembali jika tidak ada eksperimen aktif lain dengan nama yang sama.
refresh
Mengembalikan versi terbaru eksperimen dari cloud.
refresh()
remove_tags
Hapus tag yang ditentukan dari eksperimen.
remove_tags(tags)
Parameter
| Nama | Deskripsi |
|---|---|
|
tags
Diperlukan
|
[str]
Kunci tag yang akan dihapus |
set_tags
start_logging
Mulai sesi pengelogan interaktif dan buat eksekusi interaktif dalam eksperimen yang ditentukan.
start_logging(*args, **kwargs)
Parameter
| Nama | Deskripsi |
|---|---|
|
experiment
Diperlukan
|
Eksperimen. |
|
outputs
Diperlukan
|
Direktori output opsional untuk dilacak. Untuk tidak ada output, berikan False. |
|
snapshot_directory
Diperlukan
|
Direktori opsional untuk mengambil rekam jepret. Pengaturan ke Tidak Ada tidak akan mengambil rekam jepret. |
|
args
Diperlukan
|
|
|
kwargs
Diperlukan
|
|
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Mengembalikan eksekusi yang dimulai. |
Keterangan
start_logging membuat eksekusi interaktif untuk digunakan dalam skenario seperti Jupyter Notebooks. Metrik apa pun yang dicatat selama sesi ditambahkan ke rekaman eksekusi dalam eksperimen. Jika direktori output ditentukan, konten direktori tersebut diunggah sebagai artefak eksekusi setelah selesai dijalankan.
experiment = Experiment(workspace, "My Experiment")
run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
...
run.log_metric("Accuracy", accuracy)
run.complete()
Nota
run_id dibuat secara otomatis untuk setiap eksekusi dan unik dalam eksperimen.
submit
Kirim eksperimen dan kembalikan eksekusi aktif yang dibuat.
submit(config, tags=None, **kwargs)
Parameter
| Nama | Deskripsi |
|---|---|
|
config
Diperlukan
|
Konfigurasi yang akan dikirimkan. |
|
tags
|
Tag yang akan ditambahkan ke eksekusi yang dikirimkan, {"tag": "value"}. Nilai default: None
|
|
kwargs
Diperlukan
|
Parameter tambahan yang digunakan dalam fungsi pengiriman untuk konfigurasi. |
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Sebuah eksekusi. |
Keterangan
Kirim adalah panggilan asinkron ke platform Azure Machine Learning untuk menjalankan uji coba pada perangkat keras lokal atau jarak jauh. Bergantung pada konfigurasi, kirim akan secara otomatis menyiapkan lingkungan eksekusi Anda, menjalankan kode Anda, dan mengambil kode sumber Anda dan hasil ke dalam riwayat eksekusi eksperimen.
Untuk mengirimkan eksperimen, Pertama-tama Anda perlu membuat objek konfigurasi yang menjelaskan bagaimana eksperimen akan dijalankan. Konfigurasi tergantung pada jenis uji coba yang diperlukan.
Contoh cara mengirimkan eksperimen dari komputer lokal Anda adalah sebagai berikut:
from azureml.core import ScriptRunConfig
# run a trial from the train.py code in your current directory
config = ScriptRunConfig(source_directory='.', script='train.py',
run_config=RunConfiguration())
run = experiment.submit(config)
# get the url to view the progress of the experiment and then wait
# until the trial is complete
print(run.get_portal_url())
run.wait_for_completion()
Untuk detail tentang cara mengonfigurasi eksekusi, lihat detail jenis konfigurasi.
azureml.train.automl.automlconfig.AutoMLConfig
azureml.pipeline.core.Pipeline
azureml.pipeline.core.PublishedPipeline
azureml.pipeline.core.PipelineEndpoint
Nota
Saat Anda mengirimkan eksekusi pelatihan, rekam jepret direktori yang berisi skrip pelatihan Anda dibuat dan dikirim ke target komputasi. Ini juga disimpan sebagai bagian dari eksperimen di ruang kerja Anda. Jika Anda mengubah file dan mengirimkan eksekusi lagi, hanya file yang diubah yang akan diunggah.
Untuk mencegah file disertakan dalam rekam jepret, buat file .gitignore atau .amlignore di direktori dan tambahkan file ke dalamnya. File .amlignore menggunakan sintaks dan pola yang sama dengan file .gitignore. Jika kedua file ada, file .amlignore lebih diutamakan.
Untuk informasi selengkapnya, lihat Snapshots.
tag
Tandai eksperimen dengan kunci string dan nilai string opsional.
tag(key, value=None)
Parameter
| Nama | Deskripsi |
|---|---|
|
key
Diperlukan
|
Kunci tag |
|
value
Diperlukan
|
Nilai opsional untuk tag |
Keterangan
Tag pada eksperimen disimpan dalam kamus dengan kunci string dan nilai string. Tag dapat diatur, diperbarui, dan dihapus. Tag menghadap pengguna dan umumnya berisi informasi yang berarti bagi konsumen eksperimen.
experiment.tag('')
experiment.tag('DeploymentCandidate')
experiment.tag('modifiedBy', 'Master CI')
experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
Atribut
archived_time
Mengembalikan waktu yang diarsipkan untuk eksperimen. Nilai harus Tidak Ada untuk eksperimen aktif.
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Waktu eksperimen yang diarsipkan. |
id
name
tags
workspace
Mengembalikan ruang kerja yang berisi eksperimen.
Mengembalikan
| Jenis | Deskripsi |
|---|---|
|
Mengembalikan objek ruang kerja. |