Поделиться через


Experiment Класс

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

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

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

Конструктор

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

Параметры

Имя Описание
workspace
Обязательно

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

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

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

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

Словарь ключевых слов args.

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

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

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

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

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

Словарь ключевых слов args.

_skip_name_validation
Default value: False
_id
Default value: None
_archived_time
Default value: None
_create_in_cloud
Default value: True
_experiment_dto
Default value: None

Комментарии

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

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

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


   experiment = Experiment(workspace, "MyExperiment")

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

Существует два способа выполнения пробной версии эксперимента. Если вы интерактивно экспериментируете в Jupyter Notebook, используйте, если вы отправляете эксперимент из исходного кода или другого типа настроенной пробной версии, используйте start_loggingsubmit

Оба механизма создают 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
Обязательно

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

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

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

from_directory

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

static from_directory(path, auth=None)

Параметры

Имя Описание
path
Обязательно
str

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

auth

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

Default value: None

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

Тип Описание

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

get_docs_url

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

get_docs_url()

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

Тип Описание
str

URL-адрес

get_runs

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

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

Параметры

Имя Описание
type

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

Default value: None
tags
string или dict

Фильтрация выполняется по тегу или {"tag": "value"}.

Default value: None
properties
string или dict

Фильтрация выполняется по свойству или {"property": "value"}

Default value: None
include_children

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

Default value: False

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

Тип Описание

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

list

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

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

Параметры

Имя Описание
workspace
Обязательно

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

experiment_name
str

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

Default value: None
view_type

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

Default value: ActiveOnly
tags

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

Default value: None

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

Тип Описание

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

reactivate

Повторно активирует архивный эксперимент.

reactivate(new_name=None)

Параметры

Имя Описание
new_name
Обязательно
str

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

Комментарии

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

refresh

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

refresh()

remove_tags

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

remove_tags(tags)

Параметры

Имя Описание
tags
Обязательно
[str]

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

set_tags

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

set_tags(tags)

Параметры

Имя Описание
tags
Обязательно

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

start_logging

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

start_logging(*args, **kwargs)

Параметры

Имя Описание
experiment
Обязательно

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

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

Необязательный каталог выходных данных для отслеживания. Для выходных данных передайте false.

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

Необязательный каталог для создания моментального снимка. Параметр "Нет" не будет принимать моментальный снимок.

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

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

Тип Описание
Run

Возвращает запущенный запуск.

Комментарии

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


   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
Обязательно

Отправляемая конфигурация.

tags

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

Default value: None
kwargs
Обязательно

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

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

Тип Описание
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 Используйте атрибут.

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

Тип Описание

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