Experiment Kelas

Mewakili titik masuk utama untuk membuat dan bekerja dengan eksperimen di Azure Machine Learning.

Eksperimen adalah kontainer percobaan yang menunjukkan beberapa model eksekusi.

Konstruktor eksperimen.

Warisan
azureml._logging.chained_identity.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

Konstruktor

Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)

Parameter

workspace
Workspace
Diperlukan

Objek ruang kerja yang berisi eksperimen.

name
str
Diperlukan

Nama eksperimen.

kwargs
dict
Diperlukan

Kamus kata kunci args.

workspace
Workspace
Diperlukan

Objek ruang kerja yang berisi eksperimen.

name
str
Diperlukan

Nama eksperimen.

kwargs
dict
Diperlukan

Kamus kata kunci args.

_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 menunjukkan kumpulan percobaan yang digunakan untuk memvalidasi hipotesis pengguna.

Dalam Azure Machine Learning, eksperimen diwakili oleh kelas Experiment dan uji coba diwakili oleh kelas Run.

Untuk mendapatkan atau membuat eksperimen dari ruang kerja, Anda meminta eksperimen menggunakan nama eksperimen. Nama eksperimen harus terdiri dari 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 akan dibuat.

Ada dua cara untuk melakukan 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 tersebut membuat objek Run. Dalam skenario interaktif, gunakan metode pencatatan log seperti log untuk menambahkan pengukuran dan metrik ke catatan percobaan. Dalam skenario yang dikonfigurasi, gunakan metode status seperti get_status untuk mengambil informasi tentang proses tersebut.

Dalam kedua kasus tersebut, Anda dapat menggunakan metode kueri seperti get_metrics untuk mengambil nilai saat ini, jika ada, dari pengukuran dan metrik percobaan apa pun.

Metode

archive

Arsipkan eksperimen.

delete

Hapus eksperimen di ruang kerja.

from_directory

(Tidak digunakan lagi) Memuat eksperimen dari jalur yang ditentukan.

get_docs_url

Url ke dokumentasi untuk kelas ini.

get_runs

Tampilkan generator eksekusi untuk eksperimen ini, dalam urutan kronologis terbalik.

list

Tampilkan daftar eksperimen di ruang kerja.

reactivate

Mengaktifkan kembali eksperimen yang diarsipkan.

refresh

Tampilkan versi eksperimen terbaru dari cloud.

remove_tags

Menghapus tag yang ditentukan dari eksperimen.

set_tags

Menambahkan atau mengubah set tag pada eksperimen. Tag yang tidak diteruskan dalam kamus tidak akan tersentuh.

start_logging

Memulai sesi pengelogan interaktif dan membuat proses interaktif dalam eksperimen yang ditentukan.

submit

Mengirim eksperimen dan menampilkan eksekusi aktif yang dibuat.

tag

Memberi tag 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 lainnya dengan nama yang sama.

delete

Hapus eksperimen di ruang kerja.

static delete(workspace, experiment_id)

Parameter

workspace
Workspace
Diperlukan

Ruang kerja tempat eksperimen itu berada.

experiment_id
Diperlukan

Id eksperimen dari eksperimen yang akan dihapus.

from_directory

(Tidak digunakan lagi) Memuat eksperimen dari jalur yang ditentukan.

static from_directory(path, auth=None)

Parameter

path
str
Diperlukan

Direktori yang berisi file konfigurasi eksperimen.

auth
ServicePrincipalAuthentication atau InteractiveLoginAuthentication
nilai default: None

Objek autentik. Jika Tidak Ada, kredensial Azure CLI default akan digunakan atau API akan meminta kredensial.

Mengembalikan

Tampilkan Eksperimen

Tipe hasil

get_docs_url

Url ke dokumentasi untuk kelas ini.

get_docs_url()

Mengembalikan

url

Tipe hasil

str

get_runs

Tampilkan generator eksekusi untuk eksperimen ini, dalam urutan kronologis terbalik.

get_runs(type=None, tags=None, properties=None, include_children=False)

Parameter

type
string
nilai default: None

Filter generator eksekusi yang dikembalikan berdasarkan jenis yang disediakan. Lihat add_type_provider untuk membuat jenis eksekusi.

tags
string atau dict
nilai default: None

Filter dijalankan menurut "tag" atau {"tag": "value"}.

properties
string atau dict
nilai default: None

Filter dijalankan menurut "properti" atau {"properti": "nilai"}

include_children
bool
nilai default: False

Secara default, ambil hanya operasi tingkat atas. Atur ke true untuk mencantumkan semua proses.

Mengembalikan

Daftar proses yang cocok dengan filter yang disediakan.

Tipe hasil

list

Tampilkan daftar eksperimen di ruang kerja.

static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)

Parameter

workspace
Workspace
Diperlukan

Ruang kerja untuk mendaftar eksperimen.

experiment_name
str
nilai default: None

Nama opsional untuk memfilter eksperimen.

view_type
ViewType
nilai default: ActiveOnly

Nilai enum opsional untuk memfilter atau menyertakan eksperimen yang diarsipkan.

tags
nilai default: None

Kunci tag opsional atau kamus pasangan nilai kunci tag untuk memfilter eksperimen.

Mengembalikan

Daftar objek percobaan.

Tipe hasil

reactivate

Mengaktifkan kembali eksperimen yang diarsipkan.

reactivate(new_name=None)

Parameter

new_name
str
Diperlukan

Tidak didukung lagi

Keterangan

Eksperimen yang diarsipkan hanya dapat diaktifkan kembali jika tidak ada eksperimen aktif lain dengan nama yang sama.

refresh

Tampilkan versi eksperimen terbaru dari cloud.

refresh()

remove_tags

Menghapus tag yang ditentukan dari eksperimen.

remove_tags(tags)

Parameter

tags
[str]
Diperlukan

Kunci tag yang akan dihapus

set_tags

Menambahkan atau mengubah set tag pada eksperimen. Tag yang tidak diteruskan dalam kamus tidak akan tersentuh.

set_tags(tags)

Parameter

tags
dict[str]
Diperlukan

Tag yang disimpan di objek eksperimen

start_logging

Memulai sesi pengelogan interaktif dan membuat proses interaktif dalam eksperimen yang ditentukan.

start_logging(*args, **kwargs)

Parameter

experiment
Experiment
Diperlukan

Eksperimen.

outputs
str
Diperlukan

Direktori output opsional untuk dilacak. Untuk tidak ada output, teruskan False.

snapshot_directory
str
Diperlukan

Direktori opsional untuk mengambil snapshot. Pengaturan ke Tidak Ada tidak akan mengambil snapshot.

args
list
Diperlukan
kwargs
dict
Diperlukan

Mengembalikan

Tampilkan eksekusi yang dimulai.

Tipe hasil

Run

Keterangan

start_logging membuat eksekusi interaktif untuk digunakan dalam skenario seperti Jupyter Notebooks. Metrik yang dicatat selama sesi ditambahkan ke catatan eksekusi dalam eksperimen. Jika direktori output ditentukan, konten direktori tersebut diunggah sebagai artefak yang dijalankan setelah penyelesaian proses.


   experiment = Experiment(workspace, "My Experiment")
   run = experiment.start_logging(outputs=None, snapshot_directory=".", display_name="My Run")
   ...
   run.log_metric("Accuracy", accuracy)
   run.complete()

Catatan

run_id dibuat secara otomatis untuk setiap proses dan bersifat unik dalam eksperimen.

submit

Mengirim eksperimen dan menampilkan eksekusi aktif yang dibuat.

submit(config, tags=None, **kwargs)

Parameter

config
object
Diperlukan

Konfigurasi yang akan dikirimkan.

tags
dict
nilai default: None

Tag yang akan ditambahkan ke proses yang dikirimkan, {"tag": "value"}.

kwargs
dict
Diperlukan

Parameter tambahan yang digunakan dalam fungsi kirim untuk konfigurasi.

Mengembalikan

Eksekusi.

Tipe hasil

Run

Keterangan

Kirim adalah panggilan asinkron ke platform Azure Machine Learning untuk mengeksekusi uji coba pada perangkat keras lokal, atau jarak jauh. Bergantung pada konfigurasi, kirim akan secara otomatis menyiapkan lingkungan eksekusi Anda, mengeksekusi kode Anda, dan menangkap kode sumber Anda dan hasil ke dalam riwayat eksekusi percobaan.

Untuk mengirimkan percobaan, Anda harus terlebih dahulu membuat objek konfigurasi yang menjelaskan bagaimana percobaan akan dijalankan. Konfigurasi tergantung pada jenis percobaan yang diperlukan.

Contoh cara mengirimkan eksperimen dari mesin 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.

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Catatan

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 cuplikan, 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 tersedia, file .amligore akan diutamakan.

Untuk informasi selengkapnya, lihat Snapshots.

tag

Memberi tag eksperimen dengan kunci string dan nilai string opsional.

tag(key, value=None)

Parameter

key
str
Diperlukan

Kunci tag

value
str
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 ke 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

Tampilkan waktu yang diarsipkan untuk eksperimen. Nilai harus Tidak Ada untuk eksperimen aktif.

Mengembalikan

Waktu eksperimen yang diarsipkan.

Tipe hasil

str

id

Tampilkan id eksperimen.

Mengembalikan

ID eksperimen.

Tipe hasil

str

name

Tampilkan nama eksperimen.

Mengembalikan

Nama Eksperimen.

Tipe hasil

str

tags

Tampilkan kumpulan tag yang dapat diubah pada eksperimen.

Mengembalikan

Tag pada eksperimen.

Tipe hasil

workspace

Tampilkan ruang kerja yang berisi eksperimen.

Mengembalikan

Tampilkan objek ruang kerja.

Tipe hasil

workspace_object

(Tidak digunakan lagi) Menampilkan ruang kerja yang berisi eksperimen.

Menggunakan atribut workspace.

Mengembalikan

Objek ruang kerja.

Tipe hasil