Experiment Класс
Представляет основную точку входа для создания и работы с экспериментами в Машинном обучении Azure.
Эксперимент — это контейнер пробных версий , представляющих несколько запусков модели.
Конструктор экспериментов.
Конструктор
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
workspace
Обязательно
|
Объект рабочей области, содержащий эксперимент. |
|
name
Обязательно
|
Имя эксперимента. |
|
kwargs
Обязательно
|
Словарь ключевых слов args. |
|
workspace
Обязательно
|
Объект рабочей области, содержащий эксперимент. |
|
name
Обязательно
|
Имя эксперимента. |
|
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
Обязательно
|
Каталог, содержащий файлы конфигурации эксперимента. |
|
auth
|
Объект проверки подлинности. Если учетные данные Azure CLI по умолчанию не будут использоваться, или API будет запрашивать учетные данные. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает эксперимент |
get_docs_url
Url-адрес документации для этого класса.
get_docs_url()
Возвращаемое значение
| Тип | Описание |
|---|---|
|
URL-адрес |
get_runs
Возвращает генератор запусков для этого эксперимента в обратном хронологическом порядке.
get_runs(type=None, tags=None, properties=None, include_children=False)
Параметры
| Имя | Описание |
|---|---|
|
type
|
Отфильтруйте возвращаемый генератор запусков по указанному типу. См. сведения add_type_provider о создании типов выполнения. Default value: None
|
|
tags
|
Фильтрация выполняется по тегу или {"tag": "value"}. Default value: None
|
|
properties
|
Фильтрация выполняется по свойству или {"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
|
Необязательное имя для фильтрации экспериментов. Default value: None
|
|
view_type
|
Необязательное значение перечисления для фильтрации или включения архивных экспериментов. Default value: ActiveOnly
|
|
tags
|
Необязательный ключ тега или словарь пар "ключ-значение тега" для фильтрации экспериментов. Default value: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Список объектов эксперимента. |
reactivate
Повторно активирует архивный эксперимент.
reactivate(new_name=None)
Параметры
| Имя | Описание |
|---|---|
|
new_name
Обязательно
|
Больше не поддерживается |
Комментарии
Архивный эксперимент можно повторно активировать только в том случае, если нет другого активного эксперимента с тем же именем.
refresh
Верните последнюю версию эксперимента из облака.
refresh()
remove_tags
Удалите указанные теги из эксперимента.
remove_tags(tags)
Параметры
| Имя | Описание |
|---|---|
|
tags
Обязательно
|
[str]
Ключи тегов, которые будут удалены |
set_tags
start_logging
Запустите интерактивный сеанс ведения журнала и создайте интерактивный запуск в указанном эксперименте.
start_logging(*args, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
experiment
Обязательно
|
Эксперимент. |
|
outputs
Обязательно
|
Необязательный каталог выходных данных для отслеживания. Для выходных данных передайте false. |
|
snapshot_directory
Обязательно
|
Необязательный каталог для создания моментального снимка. Параметр "Нет" не будет принимать моментальный снимок. |
|
args
Обязательно
|
|
|
kwargs
Обязательно
|
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает запущенный запуск. |
Комментарии
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
Обязательно
|
Дополнительные параметры, используемые в функции отправки для конфигураций. |
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Прогон. |
Комментарии
Отправка — это асинхронный вызов платформы машинного обучения 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()
Дополнительные сведения о настройке запуска см. в сведениях о типе конфигурации.
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
Обязательно
|
Ключ тега |
|
value
Обязательно
|
Необязательное значение для тега |
Комментарии
Теги эксперимента хранятся в словаре со строковыми ключами и строковыми значениями. Теги можно задать, обновить и удалить. Теги являются пользователями и обычно содержат сведения о том, что означает для потребителей эксперимента.
experiment.tag('')
experiment.tag('DeploymentCandidate')
experiment.tag('modifiedBy', 'Master CI')
experiment.tag('modifiedBy', 'release pipeline') # Careful, tags are mutable
Атрибуты
archived_time
Возвращает заархивированное время для эксперимента. Значение должно иметь значение None для активного эксперимента.
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Заархивированное время эксперимента. |
id
Идентификатор возвращаемого эксперимента.
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Идентификатор эксперимента. |
name
tags
workspace
Верните рабочую область, содержащую эксперимент.
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Возвращает объект рабочей области. |