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.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
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
|
Nazwę eksperymentu. |
kwargs
Wymagane
|
Słownik słów kluczowych args. |
workspace
Wymagane
|
Obiekt obszaru roboczego zawierający eksperyment. |
name
Wymagane
|
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
|
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
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
|
Filtr jest uruchamiany według tagu lub {"tag": "value"}. Domyślna wartość: None
|
properties
|
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
|
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
|
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
|
Opcjonalny katalog danych wyjściowych do śledzenia. W przypadku braku danych wyjściowych przekaż wartość False. |
snapshot_directory
Wymagane
|
Opcjonalny katalog do wykonania migawki. Ustawienie wartości Brak nie spowoduje utworzenia migawki. |
args
Wymagane
|
|
kwargs
Wymagane
|
|
Zwraca
Typ | Opis |
---|---|
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 |
---|---|
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.
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
|
Klucz tagu |
value
Wymagane
|
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 |
---|---|
Zarchiwizowane czasy eksperymentu. |
id
name
tags
workspace
Zwróć obszar roboczy zawierający eksperyment.
Zwraca
Typ | Opis |
---|---|
Zwraca obiekt obszaru roboczego. |