Udostępnij za pośrednictwem


Experiment Klasa

Reprezentuje główny punkt wejścia do tworzenia eksperymentów i pracy z nimi w usłudze Azure Machine Learning.

Eksperyment to kontener prób, który reprezentuje wiele przebiegów modelu.

Konstruktor eksperymentu.

Dziedziczenie
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)

Parametry

Nazwa Opis
workspace
Wymagane

Obiekt obszaru roboczego zawierający eksperyment.

name
Wymagane
str

Nazwę eksperymentu.

kwargs
Wymagane

Słownik słów kluczowych args.

workspace
Wymagane

Obiekt obszaru roboczego zawierający eksperyment.

name
Wymagane
str

Nazwę eksperymentu.

kwargs
Wymagane

Słownik słów kluczowych args.

_skip_name_validation
Domyślna wartość: False
_id
Domyślna wartość: None
_archived_time
Domyślna wartość: None
_create_in_cloud
Domyślna wartość: True
_experiment_dto
Domyślna wartość: None

Uwagi

Eksperyment usługi Azure Machine Learning reprezentuje kolekcję prób używanych do weryfikowania hipotezy użytkownika.

W usłudze Azure Machine Learning eksperyment jest reprezentowany przez Experiment klasę, a wersja próbna jest reprezentowana przez klasę Run .

Aby uzyskać lub utworzyć eksperyment z obszaru roboczego, zażądasz eksperymentu przy użyciu nazwy eksperymentu. Nazwa eksperymentu musi zawierać od 3 do 36 znaków, zaczynać się literą lub cyfrą i może zawierać tylko litery, cyfry, podkreślenia i kreski.


   experiment = Experiment(workspace, "MyExperiment")

Jeśli eksperyment nie zostanie znaleziony w obszarze roboczym, zostanie utworzony nowy eksperyment.

Istnieją dwa sposoby wykonania próby eksperymentu. Jeśli eksperymentujesz interaktywnie w Jupyter Notebook, użyj opcji start_logging Jeśli przesyłasz eksperyment z kodu źródłowego lub innego typu skonfigurowanej wersji próbnej, użyj poleceniasubmit

Oba mechanizmy tworzą Run obiekt. W scenariuszach interaktywnych użyj metod rejestrowania, takich jak log dodawanie pomiarów i metryk do rekordu wersji próbnej. W skonfigurowanych scenariuszach użyj metod stanu, takich jak get_status pobieranie informacji o przebiegu.

W obu przypadkach możesz użyć metod zapytań, takich jak get_metrics pobieranie bieżących wartości, jeśli istnieją, pomiarów i metryk próbnych.

Metody

archive

Archiwizowanie eksperymentu.

delete

Usuń eksperyment w obszarze roboczym.

from_directory

(Przestarzałe) Załaduj eksperyment z określonej ścieżki.

get_docs_url

Adres URL dokumentacji dla tej klasy.

get_runs

Zwróć generator przebiegów dla tego eksperymentu w odwrotnej kolejności chronologicznej.

list

Zwróć listę eksperymentów w obszarze roboczym.

reactivate

Reactivates zarchiwizowanego eksperymentu.

refresh

Zwróć najnowszą wersję eksperymentu z chmury.

remove_tags

Usuń określone tagi z eksperymentu.

set_tags

Dodaj lub zmodyfikuj zestaw tagów w eksperymencie. Tagi, które nie są przekazywane w słowniku, pozostają niezmienione.

start_logging

Uruchom interaktywną sesję rejestrowania i utwórz interakcyjny przebieg w określonym eksperymencie.

submit

Prześlij eksperyment i zwróć aktywny utworzony przebieg.

tag

Tagowanie eksperymentu przy użyciu klucza ciągu i opcjonalnej wartości ciągu.

archive

Archiwizowanie eksperymentu.

archive()

Uwagi

Po archiwizacji eksperyment nie będzie domyślnie wyświetlany. Próba zapisania w zarchiwizowanym eksperymencie spowoduje utworzenie nowego aktywnego eksperymentu o tej samej nazwie. Zarchiwizowane eksperymenty można przywrócić, wywołując tak reactivate długo, jak długo nie ma innego aktywnego eksperymentu o tej samej nazwie.

delete

Usuń eksperyment w obszarze roboczym.

static delete(workspace, experiment_id)

Parametry

Nazwa Opis
workspace
Wymagane

Obszar roboczy, do którego należy eksperyment.

experiment_id
Wymagane

Identyfikator eksperymentu, który ma zostać usunięty.

from_directory

(Przestarzałe) Załaduj eksperyment z określonej ścieżki.

static from_directory(path, auth=None)

Parametry

Nazwa Opis
path
Wymagane
str

Katalog zawierający pliki konfiguracji eksperymentu.

auth

Obiekt uwierzytelniania. Jeśli nie zostaną użyte domyślne poświadczenia interfejsu wiersza polecenia platformy Azure lub interfejs API wyświetli monit o podanie poświadczeń.

Domyślna wartość: None

Zwraca

Typ Opis

Zwraca eksperyment

get_docs_url

Adres URL dokumentacji dla tej klasy.

get_docs_url()

Zwraca

Typ Opis
str

url

get_runs

Zwróć generator przebiegów dla tego eksperymentu w odwrotnej kolejności chronologicznej.

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

Parametry

Nazwa Opis
type

Filtruj zwrócony generator przebiegów według podanego typu. Zobacz add_type_provider tworzenie typów przebiegów.

Domyślna wartość: None
tags
string lub dict

Filtr jest uruchamiany według tagu lub {"tag": "value"}.

Domyślna wartość: None
properties
string lub dict

Filtr jest uruchamiany według właściwości lub {"property": "value"}

Domyślna wartość: None
include_children

Domyślnie pobieraj tylko uruchomienia najwyższego poziomu. Ustaw wartość true, aby wyświetlić listę wszystkich przebiegów.

Domyślna wartość: False

Zwraca

Typ Opis

Lista przebiegów pasujących do podanych filtrów.

list

Zwróć listę eksperymentów w obszarze roboczym.

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

Parametry

Nazwa Opis
workspace
Wymagane

Obszar roboczy, z którego mają być wyświetlone eksperymenty.

experiment_name
str

Opcjonalna nazwa do filtrowania eksperymentów.

Domyślna wartość: None
view_type

Opcjonalna wartość wyliczenia do filtrowania lub dołączania zarchiwizowanych eksperymentów.

Domyślna wartość: ActiveOnly
tags

Opcjonalny klucz tagu lub słownik par klucz-wartość tagu do filtrowania eksperymentów.

Domyślna wartość: None

Zwraca

Typ Opis

Lista obiektów eksperymentu.

reactivate

Reactivates zarchiwizowanego eksperymentu.

reactivate(new_name=None)

Parametry

Nazwa Opis
new_name
Wymagane
str

Nieobsługiwane już

Uwagi

Zarchiwizowane eksperymenty można uaktywnić ponownie tylko wtedy, gdy nie ma innego aktywnego eksperymentu o tej samej nazwie.

refresh

Zwróć najnowszą wersję eksperymentu z chmury.

refresh()

remove_tags

Usuń określone tagi z eksperymentu.

remove_tags(tags)

Parametry

Nazwa Opis
tags
Wymagane
[str]

Klucze tagów, które zostaną usunięte

set_tags

Dodaj lub zmodyfikuj zestaw tagów w eksperymencie. Tagi, które nie są przekazywane w słowniku, pozostają niezmienione.

set_tags(tags)

Parametry

Nazwa Opis
tags
Wymagane

Tagi przechowywane w obiekcie eksperymentu

start_logging

Uruchom interaktywną sesję rejestrowania i utwórz interakcyjny przebieg w określonym eksperymencie.

start_logging(*args, **kwargs)

Parametry

Nazwa Opis
experiment
Wymagane

Eksperyment.

outputs
Wymagane
str

Opcjonalny katalog danych wyjściowych do śledzenia. W przypadku braku danych wyjściowych przekaż wartość False.

snapshot_directory
Wymagane
str

Opcjonalny katalog do wykonania migawki. Ustawienie wartości Brak nie spowoduje utworzenia migawki.

args
Wymagane
kwargs
Wymagane

Zwraca

Typ Opis
Run

Zwracanie uruchomionego przebiegu.

Uwagi

start_logging tworzy interakcyjny przebieg do użycia w scenariuszach, takich jak notesy Jupyter Notebook. Wszystkie metryki rejestrowane podczas sesji są dodawane do rekordu przebiegu w eksperymencie. Jeśli zostanie określony katalog wyjściowy, zawartość tego katalogu jest przekazywana jako artefakty uruchamiania po zakończeniu przebiegu.


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

Uwaga

run_id jest generowany automatycznie dla każdego przebiegu i jest unikatowy w ramach eksperymentu.

submit

Prześlij eksperyment i zwróć aktywny utworzony przebieg.

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

Parametry

Nazwa Opis
config
Wymagane

Konfiguracja do przesłania.

tags

Tagi, które mają zostać dodane do przesłanego przebiegu, {"tag": "value"}.

Domyślna wartość: None
kwargs
Wymagane

Dodatkowe parametry używane w funkcji submit dla konfiguracji.

Zwraca

Typ Opis
Run

Przebieg.

Uwagi

Submit to asynchroniczne wywołanie platformy Azure Machine Learning w celu wykonania wersji próbnej na sprzęcie lokalnym lub zdalnym. W zależności od konfiguracji przesyłanie automatycznie przygotuje środowiska wykonawcze, wykona kod i przechwyci kod źródłowy oraz wyniki do historii uruchamiania eksperymentu.

Aby przesłać eksperyment, należy najpierw utworzyć obiekt konfiguracji opisujący sposób uruchamiania eksperymentu. Konfiguracja zależy od wymaganego typu wersji próbnej.

Przykładowy sposób przesyłania eksperymentu z komputera lokalnego wygląda następująco:


   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()

Aby uzyskać szczegółowe informacje na temat konfigurowania przebiegu, zobacz szczegóły typu konfiguracji.

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Uwaga

Po przesłaniu przebiegu trenowania zostanie utworzona migawka katalogu zawierającego skrypty szkoleniowe i wysłana do docelowego obiektu obliczeniowego. Jest on również przechowywany w ramach eksperymentu w obszarze roboczym. Jeśli zmienisz pliki i ponownie prześlesz przebieg, zostaną przekazane tylko zmienione pliki.

Aby zapobiec dołączaniu plików do migawki, utwórz plik .gitignore lub amlignore w katalogu i dodaj do niego pliki. Plik .amlignore używa tej samej składni i wzorców co plik gitignore. Jeśli oba pliki istnieją, pierwszeństwo ma plik amlignore .

Aby uzyskać więcej informacji, zobacz Migawki.

tag

Tagowanie eksperymentu przy użyciu klucza ciągu i opcjonalnej wartości ciągu.

tag(key, value=None)

Parametry

Nazwa Opis
key
Wymagane
str

Klucz tagu

value
Wymagane
str

Opcjonalna wartość tagu

Uwagi

Tagi w eksperymencie są przechowywane w słowniku z kluczami ciągów i wartościami ciągu. Tagi można ustawiać, aktualizować i usuwać. Tagi są przeznaczone dla użytkowników i zwykle zawierają informacje o znaczeniu dla użytkowników eksperymentu.


   experiment.tag('')
   experiment.tag('DeploymentCandidate')
   experiment.tag('modifiedBy', 'Master CI')
   experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable

Atrybuty

archived_time

Zwróć zarchiwizowany czas eksperymentu. Wartość powinna być wartością Brak dla aktywnego eksperymentu.

Zwraca

Typ Opis
str

Zarchiwizowane czasy eksperymentu.

id

Identyfikator powrotu eksperymentu.

Zwraca

Typ Opis
str

Identyfikator eksperymentu.

name

Zwraca nazwę eksperymentu.

Zwraca

Typ Opis
str

Nazwa eksperymentu.

tags

Zwróć modyfikowalny zestaw tagów w eksperymencie.

Zwraca

Typ Opis

Tagi w eksperymencie.

workspace

Zwróć obszar roboczy zawierający eksperyment.

Zwraca

Typ Opis

Zwraca obiekt obszaru roboczego.

workspace_object

(Przestarzałe) Zwróć obszar roboczy zawierający eksperyment.

Użyj atrybutu workspace .

Zwraca

Typ Opis

Obiekt obszaru roboczego.