Experiment Класс

Представляет главную точку входа для создания экспериментов в Машинном обучении Azure и работы с ними.

Эксперимент — это контейнер попыток выполнения, которые представляют собой многократные выполнения модели.

Конструктор эксперимента.

Наследование
azureml._logging.chained_identity.ChainedIdentity
Experiment
azureml.core._portal.HasExperimentPortal
Experiment

Конструктор

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

Параметры

workspace
Workspace
Обязательно

Объект рабочей области, содержащий эксперимент.

name
str
Обязательно

Имя эксперимента.

kwargs
dict
Обязательно

Словарь аргументов ключевого слова.

workspace
Workspace
Обязательно

Объект рабочей области, содержащий эксперимент.

name
str
Обязательно

Имя эксперимента.

kwargs
dict
Обязательно

Словарь аргументов ключевого слова.

_skip_name_validation
значение по умолчанию: False
_id
значение по умолчанию: None
_archived_time
значение по умолчанию: None
_create_in_cloud
значение по умолчанию: True
_experiment_dto
значение по умолчанию: None

Комментарии

Эксперимент Машинного обучения Azure представляет коллекцию попыток выполнения, используемых для проверки гипотезы пользователя.

В Машинном обучении Azure эксперимент представлен классом Experiment, а попытка выполнения — классом Run.

Чтобы получить или создать эксперимент из рабочей области, необходимо запросить эксперимент, указав его имя. Имя эксперимента должно содержать от 3 до 36 символов, начинаться с буквы или цифры и состоять только из букв, цифр, символов подчеркивания и дефисов.


   experiment = Experiment(workspace, "MyExperiment")

Если эксперимент не найден в рабочей области, создается новый эксперимент.

Запустить эксперименты можно двумя способами. При интерактивном эксперименте в экземпляре Jupyter Notebooks используйте start_logging. Если вы отправляете эксперимент из исходного кода или настроенной попытки выполнения иного типа, используйте submit.

Оба механизма создают объект Run. В интерактивных сценариях используйте методы ведения журнала, такие как log, чтобы добавить в запись попытки выполнения измерения и метрики. В настроенных сценариях для получения сведений о выполнении используйте методы состояния, например get_status.

В обоих случаях можно использовать методы запроса, например get_metrics, для получения текущих значений, если таковые имеются, для любых измерений и метрик попыток выполнения.

Методы

archive

Архивация эксперимента.

delete

Удаление эксперимента в рабочей области.

from_directory

(Не рекомендуется.) Загрузка эксперимента по указанному пути.

get_docs_url

URL-адрес документации для этого класса.

get_runs

Возвращение генератора выполнений для этого эксперимента в обратном хронологическом порядке.

list

Возвращение списка экспериментов в рабочей области.

reactivate

Повторная активация архивного эксперимента.

refresh

Возвращение последней версии эксперимента из облака.

remove_tags

Удаление указанных тегов из эксперимента.

set_tags

Добавление или изменение набора тегов для эксперимента. Теги, не передаваемые в словаре, остаются без изменений.

start_logging

Запуск интерактивного сеанса ведения журнала и создание интерактивного выполнения в указанном эксперименте.

submit

Отправка эксперимента и возвращение активного созданного выполнения.

tag

Добавление тега к эксперименту с использованием строкового ключа и дополнительного строкового значения.

archive

Архивация эксперимента.

archive()

Комментарии

После архивации эксперимент не будет выводиться в списке по умолчанию. При попытке записи в архивный эксперимент будет создан новый активный эксперимент с тем же именем. Архивный эксперимент можно восстановить, вызвав reactivate, если не существует другого активного эксперимента с тем же именем.

delete

Удаление эксперимента в рабочей области.

static delete(workspace, experiment_id)

Параметры

workspace
Workspace
Обязательно

Рабочая область, к которой относится эксперимент.

experiment_id
Обязательно

Идентификатор эксперимента, который необходимо удалить.

from_directory

(Не рекомендуется.) Загрузка эксперимента по указанному пути.

static from_directory(path, auth=None)

Параметры

path
str
Обязательно

Каталог, содержащий файлы конфигурации эксперимента.

auth
ServicePrincipalAuthentication или InteractiveLoginAuthentication
значение по умолчанию: None

Объект проверки подлинности. Если задано значение None, будут использоваться учетные данные Azure CLI по умолчанию. Иначе API запросит учетные данные.

Возвращаемое значение

Возвращение эксперимента.

Возвращаемый тип

get_docs_url

URL-адрес документации для этого класса.

get_docs_url()

Возвращаемое значение

url

Возвращаемый тип

str

get_runs

Возвращение генератора выполнений для этого эксперимента в обратном хронологическом порядке.

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

Параметры

type
string
значение по умолчанию: None

Фильтрация возвращенного генератора выполнения по указанному типу. См. раздел add_type_provider для создания типов выполнения.

tags
string или dict
значение по умолчанию: None

Для фильтрации используется "метка" или {"метка": "значение"}

properties
string или dict
значение по умолчанию: None

Для фильтрации используется "свойство" или {"свойство": "значение"}

include_children
bool
значение по умолчанию: False

По умолчанию получаются только выполнения верхнего уровня. Задайте значение True, чтобы вывести список всех выполнений.

Возвращаемое значение

Список выполнений, соответствующих указанным фильтрам.

Возвращаемый тип

list

Возвращение списка экспериментов в рабочей области.

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

Параметры

workspace
Workspace
Обязательно

Рабочая область, эксперименты из которой следует вывести.

experiment_name
str
значение по умолчанию: None

Необязательное имя для фильтрации экспериментов.

view_type
ViewType
значение по умолчанию: ActiveOnly

Необязательное значение перечисления для фильтрации или включения архивных экспериментов.

tags
значение по умолчанию: None

Необязательный ключ тега или словарь пар "ключ — значение" тегов для фильтрации экспериментов.

Возвращаемое значение

Список объектов эксперимента.

Возвращаемый тип

reactivate

Повторная активация архивного эксперимента.

reactivate(new_name=None)

Параметры

new_name
str
Обязательно

Больше не поддерживается.

Комментарии

Архивный эксперимент может быть повторно активирован, только если отсутствует другой активный эксперимент с тем же именем.

refresh

Возвращение последней версии эксперимента из облака.

refresh()

remove_tags

Удаление указанных тегов из эксперимента.

remove_tags(tags)

Параметры

tags
[str]
Обязательно

Ключи тегов, которые будут удалены.

set_tags

Добавление или изменение набора тегов для эксперимента. Теги, не передаваемые в словаре, остаются без изменений.

set_tags(tags)

Параметры

tags
dict[str]
Обязательно

Теги, хранящиеся в объекте эксперимента.

start_logging

Запуск интерактивного сеанса ведения журнала и создание интерактивного выполнения в указанном эксперименте.

start_logging(*args, **kwargs)

Параметры

experiment
Experiment
Обязательно

Эксперимент.

outputs
str
Обязательно

Необязательный каталог выходных данных для отслеживания. Если выходные данные отсутствуют, передайте значение False.

snapshot_directory
str
Обязательно

Необязательный каталог для создания моментального снимка. Если задать значение None, моментальный снимок каталога не будет создаваться.

args
list
Обязательно
kwargs
dict
Обязательно

Возвращаемое значение

Возвращение запущенного выполнения.

Возвращаемый тип

Run

Комментарии

start_logging создает интерактивное выполнение для использования в таких сценариях, как Jupyter Notebooks. Все метрики, записанные во время сеанса, добавляются в запись о выполнении эксперимента. Если указан каталог вывода, его содержимое отправляется как артефакты выполнения после завершения выполнения.


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

Примечание

run_id создается автоматически для каждого выполнения и является уникальным в рамках эксперимента.

submit

Отправка эксперимента и возвращение активного созданного выполнения.

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

Параметры

config
object
Обязательно

Конфигурация для отправки.

tags
dict
значение по умолчанию: None

Теги, добавляемые в отправленное выполнение, например, {"тег": "значение"}.

kwargs
dict
Обязательно

Дополнительные параметры, используемые для конфигураций в функции отправки.

Возвращаемое значение

Выполнение.

Возвращаемый тип

Run

Комментарии

Отправка — это асинхронный вызов платформы Машинного обучения Azure для выполнения попытки на локальном или удаленном оборудовании. В зависимости от конфигурации при отправке автоматически подготавливаются среды выполнения, выполняется код, а в журнал выполнения записываются исходный код и результаты.

Чтобы отправить эксперимент, сначала необходимо создать объект конфигурации, описывающий, как этот эксперимент будет выполняться. Конфигурация зависит от типа требуемой попытки.

Ниже приведен пример того, как отправить эксперимент с локального компьютера:


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

Дополнительные сведения о настройке выполнения доступны в описании типа конфигурации.

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Примечание

При отправке запроса на запуск выполнения обучения создается моментальный снимок каталога, содержащего сценарии обучения, и отправляется на целевой объект вычислений. Он также хранится в составе эксперимента в рабочей области. Если изменить файлы и отправить запрос на запуск выполнения снова, будут переданы только измененные файлы.

Чтобы предотвратить включение определенных файлов в моментальный снимок, создайте файлы .gitignore или .amlignore в каталоге и добавьте исключаемые файлы в него. Файл .amlignore использует тот же синтаксис и шаблоны, что и файл .gitignore. Если существуют оба файла, приоритет имеет файл .amlignore.

Дополнительные сведения см. в разделе о моментальных снимках.

tag

Добавление тега к эксперименту с использованием строкового ключа и дополнительного строкового значения.

tag(key, value=None)

Параметры

key
str
Обязательно

Ключ тега.

value
str
Обязательно

Необязательное значение для тега.

Комментарии

Теги в эксперименте хранятся в словаре со строковыми ключами и строковыми значениями. Теги можно задавать, обновлять и удалять. Теги предназначены для пользователей и, как правило, содержат понятные сведения для потребителей эксперимента.


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

Атрибуты

archived_time

Возвращение архивного времени эксперимента. Для активного эксперимента значение должно быть равно None.

Возвращаемое значение

Архивное время эксперимента.

Возвращаемый тип

str

id

Возвращение идентификатора эксперимента.

Возвращаемое значение

Идентификатор эксперимента.

Возвращаемый тип

str

name

Возвращение имени эксперимента.

Возвращаемое значение

Имя эксперимента.

Возвращаемый тип

str

tags

Возвращение изменяемого набора тегов в эксперименте.

Возвращаемое значение

Теги эксперимента.

Возвращаемый тип

workspace

Возвращение рабочей области, содержащей эксперимент.

Возвращаемое значение

Возвращение объекта рабочей области.

Возвращаемый тип

workspace_object

(Не рекомендуется.) Возвращение рабочей области, содержащей эксперимент.

Используйте атрибут workspace.

Возвращаемое значение

Объект рабочей области.

Возвращаемый тип