Experiment Класс
Представляет главную точку входа для создания экспериментов в Машинном обучении Azure и работы с ними.
Эксперимент — это контейнер попыток выполнения, которые представляют собой многократные выполнения модели.
Конструктор эксперимента.
- Наследование
-
azureml._logging.chained_identity.ChainedIdentityExperimentazureml.core._portal.HasExperimentPortalExperiment
Конструктор
Experiment(workspace, name, _skip_name_validation=False, _id=None, _archived_time=None, _create_in_cloud=True, _experiment_dto=None, **kwargs)
Параметры
- _skip_name_validation
- _id
- _archived_time
- _create_in_cloud
- _experiment_dto
Комментарии
Эксперимент Машинного обучения 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)
Параметры
- experiment_id
Идентификатор эксперимента, который необходимо удалить.
from_directory
(Не рекомендуется.) Загрузка эксперимента по указанному пути.
static from_directory(path, auth=None)
Параметры
Объект проверки подлинности. Если задано значение None, будут использоваться учетные данные Azure CLI по умолчанию. Иначе API запросит учетные данные.
Возвращаемое значение
Возвращение эксперимента.
Возвращаемый тип
get_docs_url
URL-адрес документации для этого класса.
get_docs_url()
Возвращаемое значение
url
Возвращаемый тип
get_runs
Возвращение генератора выполнений для этого эксперимента в обратном хронологическом порядке.
get_runs(type=None, tags=None, properties=None, include_children=False)
Параметры
- type
- string
Фильтрация возвращенного генератора выполнения по указанному типу. См. раздел add_type_provider для создания типов выполнения.
Для фильтрации используется "метка" или {"метка": "значение"}
Для фильтрации используется "свойство" или {"свойство": "значение"}
- include_children
- bool
По умолчанию получаются только выполнения верхнего уровня. Задайте значение True, чтобы вывести список всех выполнений.
Возвращаемое значение
Список выполнений, соответствующих указанным фильтрам.
Возвращаемый тип
list
Возвращение списка экспериментов в рабочей области.
static list(workspace, experiment_name=None, view_type='ActiveOnly', tags=None)
Параметры
- view_type
- ViewType
Необязательное значение перечисления для фильтрации или включения архивных экспериментов.
- tags
Необязательный ключ тега или словарь пар "ключ — значение" тегов для фильтрации экспериментов.
Возвращаемое значение
Список объектов эксперимента.
Возвращаемый тип
reactivate
Повторная активация архивного эксперимента.
reactivate(new_name=None)
Параметры
Комментарии
Архивный эксперимент может быть повторно активирован, только если отсутствует другой активный эксперимент с тем же именем.
refresh
Возвращение последней версии эксперимента из облака.
refresh()
remove_tags
Удаление указанных тегов из эксперимента.
remove_tags(tags)
Параметры
set_tags
Добавление или изменение набора тегов для эксперимента. Теги, не передаваемые в словаре, остаются без изменений.
set_tags(tags)
Параметры
start_logging
Запуск интерактивного сеанса ведения журнала и создание интерактивного выполнения в указанном эксперименте.
start_logging(*args, **kwargs)
Параметры
- outputs
- str
Необязательный каталог выходных данных для отслеживания. Если выходные данные отсутствуют, передайте значение False.
- snapshot_directory
- str
Необязательный каталог для создания моментального снимка. Если задать значение None, моментальный снимок каталога не будет создаваться.
- args
- list
- kwargs
- dict
Возвращаемое значение
Возвращение запущенного выполнения.
Возвращаемый тип
Комментарии
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)
Параметры
- tags
- dict
Теги, добавляемые в отправленное выполнение, например, {"тег": "значение"}.
Возвращаемое значение
Выполнение.
Возвращаемый тип
Комментарии
Отправка — это асинхронный вызов платформы Машинного обучения 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)
Параметры
Комментарии
Теги в эксперименте хранятся в словаре со строковыми ключами и строковыми значениями. Теги можно задавать, обновлять и удалять. Теги предназначены для пользователей и, как правило, содержат понятные сведения для потребителей эксперимента.
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
Возвращение рабочей области, содержащей эксперимент.
Возвращаемое значение
Возвращение объекта рабочей области.
Возвращаемый тип
workspace_object
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по