Run Класс

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

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

Объекты запуска создаются при отправке скрипта для обучения модели во множестве различных сценариев Машинного обучения Azure, в том числе при запусках HyperDrive, конвейера и AutoML. Объект запуска также создается при использовании submit или start_logging с классом Experiment.

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

Инициализируйте объект Run.

Наследование
azureml._run_impl.run_base._RunBase
Run

Конструктор

Run(experiment, run_id, outputs=None, **kwargs)

Параметры

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

Содержащий эксперимент.

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

Идентификатор запуска.

outputs
str

Выходные данные для отслеживания.

значение по умолчанию: None
_run_dto
Обязательно
<xref:azureml._restclient.models.run_dto.RunDto>

Только для внутреннего применения.

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

Словарь дополнительных параметров конфигурации.

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

Содержащий эксперимент.

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

Идентификатор запуска.

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

Выходные данные для отслеживания.

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

Словарь дополнительных параметров конфигурации.

Комментарии

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

Внутри кода эксперимента запуск используется для регистрации метрик и артефактов в службе журнала выполнения.

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

Запуск выполняет следующие функции:

  • хранение и получение метрик и данных;

  • отправка и скачивание файлов;

  • применение тегов, а также иерархии дочерних элементов для простого поиска выполненных запусков;

  • регистрация файлов хранимых моделей в качестве модели, которую можно ввести в эксплуатацию;

  • хранение, изменение и получение свойств запуска;

  • загрузка текущего запуска из удаленной среды с помощью метода get_context;

  • эффективное создание моментального снимка файла или каталога для обеспечения воспроизводимости.

Этот класс работает с Experiment в следующих сценариях:

  • создание запуска путем выполнения кода с помощью submit;

  • создание интерактивного запуска в записной книжке с помощью start_logging;

  • регистрация метрик и отправленных артефактов в эксперименте, например при использовании log;

  • считывание метрик и скачивание артефактов при анализе результатов эксперимента, например при использовании get_metrics.

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

  • ScriptRunConfig

  • azureml.train.automl.automlconfig.AutoMLConfig

  • azureml.train.hyperdrive.HyperDriveConfig

  • azureml.pipeline.core.Pipeline

  • azureml.pipeline.core.PublishedPipeline

  • azureml.pipeline.core.PipelineEndpoint

Следующие метрики можно добавить к выполнению во время обучения эксперимента.

  • скалярная

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

    • Пример: run.log("accuracy", 0.95)

  • Список

    • Регистрирует список значений в запуске с заданным именем с помощью log_list.

    • Пример: run.log_list("accuracies", [0.6, 0.7, 0.87])

  • Строка

    • С помощью log_row создается метрика с несколькими столбцами, как описано в kwargs. Каждый именованный параметр создает столбец с указанным значением. log_row можно вызвать один раз, чтобы записать произвольный кортеж, или несколько раз в цикле, чтобы создать полную таблицу.

    • Пример: run.log_row("Y over X", x=1, y=0.4)

  • Таблица

    • Регистрирует объект словаря в запуске с заданным именем с помощью log_table.

    • Пример: run.log_table("Y over X", {"x":[1, 2, 3], "y":[0.6, 0.7, 0.89]})

  • Изображение

    • Запишите изображение в запись о выполнении. Используйте log_image, чтобы записать файл изображения или график matplotlib в запуск. Эти изображения будут видимы, и их можно сравнить в записи о выполнении.

    • Пример: run.log_image("ROC", path)

Методы

add_properties

Добавляет к запуску неизменяемые свойства.

Теги и свойства (оба dict[str, str]) отличаются изменяемостью. Свойства являются неизменяемыми, поэтому они создают постоянную запись для целей аудита. Теги могут быть изменены. Дополнительные сведения о работе с тегами и свойствами см. в разделе Поиск запусков и добавление к ним тегов.

add_type_provider

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

cancel

Обозначает запуск как отмененный.

Если имеется связанное задание с заданным полем cancel_uri, завершает также это задание.

child_run

Создает дочерний запуск.

clean

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

complete

Ожидает обработки очереди задач.

Затем запуск помечается как завершенный. Обычно используется в сценариях интерактивной записной книжки.

create_children

Создает один или несколько дочерних запусков.

download_file

Скачивает связанный файл из хранилища.

download_files

Скачивает файлы из расположения по заданному префиксу хранилища (имени папки) или со всего контейнера, если префикс не указан.

fail

Помечает запуск как неудачный.

При необходимости задайте свойство Error для запуска с сообщением или исключением, переданным в error_details.

flush

Ожидает обработки очереди задач.

get

Получает запуск для этой рабочей области с соответствующим идентификатором запуска.

get_all_logs

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

get_children

Возвращает все дочерние запуски для текущего запуска, выбранного указанными фильтрами.

get_context

Возвращает текущий контекст службы.

Используйте этот метод, чтобы получить текущий контекст службы для ведения журнала метрик и отправки файлов. Если allow_offline имеет значение true (по умолчанию), действия с объектом запуска будут выводиться через стандартный выход.

get_detailed_status

Получает последнее состояние запуска. Если состояние запуска — Queued (В очереди), будут отображены подробные сведения.

get_details

Получает определение, сведения о состоянии, текущие файлы журнала и другие сведения о запуске.

get_details_with_logs

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

get_environment

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

get_file_names

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

get_metrics

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

Если recursive имеет значение True (по умолчанию False), получает метрики для запусков в поддереве данного запуска.

get_properties

Получает последние свойства запуска из службы.

get_secret

Получает значения секрета из контекста запуска.

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

get_secrets

Получает значения секретов для заданного списка имен секретов.

Получает словарь найденных и ненайденных секретов для списка указанных имен. Каждое имя секрета ссылается на значение, хранящееся в решении Azure Key Vault, связанном с рабочей областью. Пример работы с секретами см. в разделе Использование секретов при запусках обучения.

get_snapshot_id

Получает идентификатор последнего моментального снимка.

get_status

Получает последнее состояние запуска.

Обычно возвращаются значения Running (Выполняется), Completed (Завершено) и Failed (Сбой).

get_submitted_run

НЕ РЕКОМЕНДУЕТСЯ. Используйте команду get_context.

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

get_tags

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

list

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

list_by_compute

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

log

Запишите значение метрики в выполнение с заданным именем.

log_accuracy_table

Регистрирует таблицу точности в хранилище артефактов.

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

Вычисление таблицы точности похоже на вычисление кривой ROC. Кривая ROC отражает частоты истинноположительных и ложноположительных результатов при всевозможных значениях вероятности. В таблице точности хранится необработанное число истинноположительных, ложноположительных, истинноотрицательных и ложноотрицательных результатов при всевозможных пороговых значениях вероятности.

Для выбора пороговых значений используются два метода: "вероятность" и "процентиль". Они отличаются принципом выборки из пространства прогнозируемых вероятностей.

Пороги вероятности — это однородные пороговые значения в диапазоне от 0 до 1. Если NUM_POINTS имеет значение 5, пороговые значения вероятности будут равны [0,0, 0,25, 0,5, 0,75, 1,0].

Пороговые значения процентиля распределяются в соответствии с распределением прогнозируемых вероятностей. Каждое пороговое значение соответствует процентилю данных при пороговом значении вероятности. Например, если NUM_POINTS имеет значение 5, то первое пороговое значение будет на 0-м процентиле, второе — на 25-ом, третье — на 50-й и т. д.

Таблицы вероятностей и процентилей представляют собой трехмерные списки, в которых первое измерение представляет метку класса, второе — выборку при одном пороговом значении (масштабируется с использованием NUM_POINTS), а третье — всегда имеет 4 значения: истинноположительное (TP), ложноположительное (FP), истинноотрицательное (TN) и ложноотрицательное (FN) и всегда именно в таком порядке.

Значения неточности (TP, FP, TN, FN) вычисляются с помощью стратегии "один — остальные". Дополнительные сведения см. по следующей ссылке: https://en.wikipedia.org/wiki/Multiclass_classification.

N — число выборок в наборе данных для проверки (в примере 200); M — число пороговых значений или число выборок из пространства вероятностей (в примере 5); C — число классов в полном наборе данных (в примере 3)

Некоторые инварианты таблицы точности:

  • TP + FP + TN + FN = N для всех пороговых значений для всех классов
  • TP + FN одинаково во всех пороговых значениях для любого класса
  • TN + FP одинаково во всех пороговых значениях для любого класса
  • Таблицы вероятностей и таблицы процентилей имеют форму [C, M, 4]

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

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

log_confusion_matrix

Регистрирует матрицу неточности в хранилище артефактов.

При этом регистрируется программа-оболочка вокруг матрицы неточностей sklearn. Данные метрик содержат метки классов и двухмерный список для самой матрицы. Дополнительные сведения о вычислении метрики см. по следующей ссылке: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html.

log_image

Запишите метрику изображения в запись о выполнении.

log_list

Запишите список значений метрики в выполнение с заданным именем.

log_predictions

Регистрирует прогнозы в хранилище артефактов.

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

Прогнозируемые значения сегментируются, а для отображения на графике планок погрешностей вычисляются стандартные отклонения.

log_residuals

Регистрирует остатки в хранилище артефактов.

При этом регистрируются данные, необходимые для отображения гистограммы остатков для задачи регрессии. Остатки прогнозируемые — фактические.

Число краев должно быть на единицу больше, чем число количественных величин. Примеры использования количественных величин и краев для представления гистограммы см. в документации по гистограмме NumPy. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_row

Регистрирует метрику строки в запуске с заданным именем.

log_table

Запишите значение табличной метрики в выполнение с заданным именем.

register_model

Регистрирует модель для ввода в эксплуатации.

remove_tags

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

restore_snapshot

Восстанавливает моментальный снимок в виде ZIP-файла. Возвращает путь к ZIP-файлу.

set_tags

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

Можно также добавлять простые строковые теги. Если эти теги отображаются в словаре тегов в качестве ключей, то они имеют значение None (Нет). Дополнительные сведения см. в разделе Поиск запусков и добавление к ним тегов.

start

Помечает запуск как начатый.

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

submit_child

Отправьте эксперимент и верните активный дочерний запуск.

tag

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

take_snapshot

Сохраняет моментальный снимок входного файла или папки.

upload_file

Отправка файла в запись о выполнении.

upload_files

Отправляет файлы в запись о запуске.

upload_folder

Отправляет указанную папку по заданному имени префикса.

wait_for_completion

Ожидает завершения этого запуска. Возвращает объект состояния после ожидания.

add_properties

Добавляет к запуску неизменяемые свойства.

Теги и свойства (оба dict[str, str]) отличаются изменяемостью. Свойства являются неизменяемыми, поэтому они создают постоянную запись для целей аудита. Теги могут быть изменены. Дополнительные сведения о работе с тегами и свойствами см. в разделе Поиск запусков и добавление к ним тегов.

add_properties(properties)

Параметры

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

Скрытые свойства, хранящиеся в объекте запуска.

add_type_provider

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

static add_type_provider(runtype, run_factory)

Параметры

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

Значение Run.type, для которого будет вызвана фабрика. Примерами могут служить hyperdrive и azureml.scriptrun, но их можно дополнить пользовательскими типами.

run_factory
Обязательно
<xref:function>

Функция с сигнатурой (Experiment, RunDto) —> "Запуск", которая вызывается при выводе списка запусков.

cancel

Обозначает запуск как отмененный.

Если имеется связанное задание с заданным полем cancel_uri, завершает также это задание.

cancel()

child_run

Создает дочерний запуск.

child_run(name=None, run_id=None, outputs=None)

Параметры

Имя Описание
name
str

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

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

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

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

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

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

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

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

Дочерний запуск.

Комментарии

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

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

clean

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

clean()

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

Тип Описание

Список удаляемых файлов.

complete

Ожидает обработки очереди задач.

Затем запуск помечается как завершенный. Обычно используется в сценариях интерактивной записной книжки.

complete(_set_status=True)

Параметры

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

Указывает, следует ли отправить событие состояния для отслеживания.

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

create_children

Создает один или несколько дочерних запусков.

create_children(count=None, tag_key=None, tag_values=None)

Параметры

Имя Описание
count
int

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

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

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

значение по умолчанию: None
tag_Values
Обязательно

Необязательный список значений, которые будут сопоставлены с Tags[tag_key] для списка созданных запусков.

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

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

Тип Описание

Список дочерних запусков.

Комментарии

Необходимо указать параметр count ИЛИ параметры tag_key И tag_values.

download_file

Скачивает связанный файл из хранилища.

download_file(name, output_file_path=None, _validate_checksum=False)

Параметры

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

Имя скачиваемого артефакта.

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

Локальный путь для хранения артефакта.

download_files

Скачивает файлы из расположения по заданному префиксу хранилища (имени папки) или со всего контейнера, если префикс не указан.

download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)

Параметры

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

Префикс пути к файлу в контейнере, из которого нужно скачать все артефакты.

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

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

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

Необязательные пути к файлам, по которых хранятся скачанные артефакты. Должно быть уникальным и соответствовать требованиям к длине путей.

batch_size
Обязательно
int

Число файлов для загрузки на пакет. Значение по умолчанию — 100 файлов.

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

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

timeout_seconds
Обязательно
int

Время ожидания для скачивания файлов.

fail

Помечает запуск как неудачный.

При необходимости задайте свойство Error для запуска с сообщением или исключением, переданным в error_details.

fail(error_details=None, error_code=None, _set_status=True)

Параметры

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

Необязательные сведения об ошибке.

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

Необязательный код ошибки для классификации ошибок.

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

Указывает, следует ли отправить событие состояния для отслеживания.

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

flush

Ожидает обработки очереди задач.

flush(timeout_seconds=300)

Параметры

Имя Описание
timeout_seconds
int

Время ожидания (в секундах) обработки очереди задач.

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

get

Получает запуск для этой рабочей области с соответствующим идентификатором запуска.

static get(workspace, run_id)

Параметры

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

Содержащая рабочая область.

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

Идентификатор запуска.

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

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

Отправленный запуск.

get_all_logs

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

get_all_logs(destination=None)

Параметры

Имя Описание
destination
str

Целевой путь для хранения журналов. Если этот параметр не указан, в каталоге проекта создается каталог, в качестве имени которого используется идентификатор запуска.

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

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

Тип Описание

Список имен скачанных журналов.

get_children

Возвращает все дочерние запуски для текущего запуска, выбранного указанными фильтрами.

get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)

Параметры

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

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

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

Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "tag" или {"tag": "value"}.

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

Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "property" или {"property": "value"}.

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

Если указан этот параметр, возвращает запуски, соответствующие этому типу.

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

Если указан этот параметр, возвращает запуски с указанным состоянием "status".

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

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

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

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

Тип Описание

Список объектов Run.

get_context

Возвращает текущий контекст службы.

Используйте этот метод, чтобы получить текущий контекст службы для ведения журнала метрик и отправки файлов. Если allow_offline имеет значение true (по умолчанию), действия с объектом запуска будут выводиться через стандартный выход.

get_context(allow_offline=True, used_for_context_manager=False, **kwargs)

Параметры

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

Указывает метод класса.

allow_offline

Разрешает контексту службы возвращаться в автономный режим, чтобы скрипт обучения можно было протестировать локально, не отправляя задание с помощью пакета SDK. По умолчанию имеет значение TRUE.

значение по умолчанию: True
kwargs
Обязательно

Словарь дополнительных параметров.

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

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

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

Отправленный запуск.

Комментарии

Эта функция обычно используется для получения прошедшего проверку подлинности объекта запуска в скрипте, который будет отправлен для выполнения с помощью experiment.submit(). Этот объект запуска является прошедшим проверку подлинности контекстом для взаимодействия со службами Машинного обучения Azure, а также концептуальным контейнером, в котором содержатся метрики, файлы (артефакты) и модели.


   run = Run.get_context() # allow_offline=True by default, so can be run locally as well
   ...
   run.log("Accuracy", 0.98)
   run.log_row("Performance", epoch=e, error=err)

get_detailed_status

Получает последнее состояние запуска. Если состояние запуска — Queued (В очереди), будут отображены подробные сведения.

get_detailed_status()

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

Тип Описание

Последнее состояние и сведения

Комментарии

  • status: текущее состояние запуска. То же значение, которое было возвращено из get_status ().

  • details: подробные сведения о текущем состоянии.


   run = experiment.submit(config)
   details = run.get_detailed_status()
   # details = {
   #     'status': 'Queued',
   #     'details': 'Run requested 1 node(s). Run is in pending status.',
   # }

get_details

Получает определение, сведения о состоянии, текущие файлы журнала и другие сведения о запуске.

get_details()

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

Тип Описание

Возвращает сведения о выполнении

Комментарии

Возвращаемый словарь содержит следующие пары "ключ-значение":

  • runId: идентификатор этого запуска.

  • target

  • status: текущее состояние запуска. То же значение, которое было возвращено из get_status ().

  • startTimeUtc: время начала выполнения этого запуска в формате UTC согласно стандарту ISO8601.

  • endTimeUtc: время завершения этого запуска в формате UTC (состояние Completed (Завершен) или Failed (Сбой)) согласно стандарту ISO8601.

    Этот ключ не существует, если запуск еще выполняется.

  • properties: неизменяемые пары "ключ-значение", связанные с запуском. Свойства по умолчанию включают идентификатор моментального снимка запуска и сведения о репозитории Git, на основе которого был создан запуск (если таковой имеется). С помощью add_properties в запуск можно добавить дополнительные свойства.

  • inputDatasets: входные наборы данных, связанные с запуском.

  • outputDatasets: выходные наборы данных, связанные с запуском.

  • logFiles

  • submittedBy


   run = experiment.start_logging()

   details = run.get_details()
   # details = {
   #     'runId': '5c24aa28-6e4a-4572-96a0-fb522d26fe2d',
   #     'target': 'sdk',
   #     'status': 'Running',
   #     'startTimeUtc': '2019-01-01T13:08:01.713777Z',
   #     'endTimeUtc': '2019-01-01T17:15:65.986253Z',
   #     'properties': {
   #         'azureml.git.repository_uri': 'https://example.com/my/git/repo',
   #         'azureml.git.branch': 'master',
   #         'azureml.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
   #         'azureml.git.dirty': 'True',
   #         'mlflow.source.git.repoURL': 'https://example.com/my/git/repo',
   #         'mlflow.source.git.branch': 'master',
   #         'mlflow.source.git.commit': '7dc972657c2168927a02c3bc2b161e0f370365d7',
   #         'ContentSnapshotId': 'b4689489-ce2f-4db5-b6d7-6ad11e77079c'
   #     },
   #     'inputDatasets': [{
   #         'dataset': {'id': 'cdebf245-701d-4a68-8055-41f9cf44f298'},
   #         'consumptionDetails': {
   #             'type': 'RunInput',
   #             'inputName': 'training-data',
   #             'mechanism': 'Mount',
   #             'pathOnCompute': '/mnt/datasets/train'
   #         }
   #     }],
   #     'outputDatasets': [{
   #         'dataset': {'id': 'd04e8a19-1caa-4b1f-b318-4cbff9af9615'},
   #         'outputType': 'RunOutput',
   #         'outputDetails': {
   #             'outputName': 'training-result'
   #         }
   #     }],
   #     'runDefinition': {},
   #     'logFiles': {},
   #     'submittedBy': 'Alan Turing'
   # }

get_details_with_logs

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

get_details_with_logs()

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

Тип Описание

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

get_environment

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

get_environment()

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

Тип Описание

Возвращает объект среды.

get_file_names

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

get_file_names()

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

Тип Описание

Список путей для существующих артефактов

get_metrics

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

Если recursive имеет значение True (по умолчанию False), получает метрики для запусков в поддереве данного запуска.

get_metrics(name=None, recursive=False, run_type=None, populate=False)

Параметры

Имя Описание
name
str

Имя метрики.

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

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

значение по умолчанию: False
run_type
str
значение по умолчанию: None
populate

Указывает, следует ли получать содержимое внешних данных, связанных с метрикой.

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

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

Тип Описание

Словарь, содержащий метрики пользователей.

Комментарии


   run = experiment.start_logging() # run id: 123
   run.log("A", 1)
   with run.child_run() as child: # run id: 456
       child.log("A", 2)

   metrics = run.get_metrics()
   # metrics = { 'A': 1 }

   metrics = run.get_metrics(recursive=True)
   # metrics = { '123': { 'A': 1 }, '456': { 'A': 2 } } note key is runId

get_properties

Получает последние свойства запуска из службы.

get_properties()

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

Тип Описание

Свойства запуска.

Комментарии

Свойства представляют собой неизменяемую системную информацию, например о длительности, дате выполнения, пользователе и пользовательских свойствах, добавленных с помощью метода add_properties. Дополнительные сведения см. в разделе Поиск запусков и добавление к ним тегов.

Если исходные файлы хранятся в локальном репозитории Git, то при отправке задания в службу "Машинное обучение Azure" сведения о репозитории хранятся в виде свойств. Эти свойства Git добавляются при создании запуска или вызове Experiment.submit. Дополнительные сведения о свойствах Git см. в статье Интеграция с Git для Машинного обучения Azure.

get_secret

Получает значения секрета из контекста запуска.

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

get_secret(name)

Параметры

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

Имя секрета, для которого возвращается секрет.

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

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

Значение секрета.

get_secrets

Получает значения секретов для заданного списка имен секретов.

Получает словарь найденных и ненайденных секретов для списка указанных имен. Каждое имя секрета ссылается на значение, хранящееся в решении Azure Key Vault, связанном с рабочей областью. Пример работы с секретами см. в разделе Использование секретов при запусках обучения.

get_secrets(secrets)

Параметры

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

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

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

Тип Описание

Возвращает словарь найденных и ненайденных секретов.

get_snapshot_id

Получает идентификатор последнего моментального снимка.

get_snapshot_id()

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

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

Идентификатор последнего моментального снимка.

get_status

Получает последнее состояние запуска.

Обычно возвращаются значения Running (Выполняется), Completed (Завершено) и Failed (Сбой).

get_status()

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

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

Последнее состояние.

Комментарии

  • NotStarted — это временное состояние объектов запуска на стороне клиента перед отправкой в облако.

  • Starting — началась обработка запуска в облаке. На этом этапе вызывающий объект имеет идентификатор запуска.

  • Provisioning — возвращается при создании вычисления по запросу для данной отправки задания.

  • Preparing — выполняется подготовка среды запуска:

    • сборка образа Docker;

    • настройка среды conda.

  • Queued — задание помещается в очередь целевого объекта вычислений. Например, в BatchAI задание находится в состоянии Queued,

    ожидая готовности всех запрошенных узлов.

  • Running — начинается запуск задания в целевом объекте вычислений.

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

  • CancelRequested — для задания запрошена отмена.

  • Completed — запуск успешно завершен. В частности завершены этапы постобработки

    пользовательского кода и запуска.

  • Failed — сбой запуска. Подробное описание причины как правило предоставляет свойство Error.

  • Canceled — применяется после запроса отмены и указывает, что выполнение теперь успешно отменено.

  • NotResponding — для запусков с включенными пульсами недавно не отправлялся пульс.


   run = experiment.submit(config)
   while run.get_status() not in ['Completed', 'Failed']: # For example purposes only, not exhaustive
       print('Run {} not in terminal state'.format(run.id))
       time.sleep(10)

get_submitted_run

НЕ РЕКОМЕНДУЕТСЯ. Используйте команду get_context.

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

get_submitted_run(**kwargs)

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

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

Отправленный запуск.

get_tags

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

get_tags()

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

Тип Описание

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

list

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

static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)

Параметры

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

Содержащий эксперимент.

type
str

Если указан этот параметр, возвращает запуски, соответствующие указанному типу.

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

Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "tag" или {"tag": "value"}.

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

Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "property" или {"property": "value"}.

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

Если указан этот параметр, возвращает запуски с указанным состоянием "status".

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

Если задано значение true, получает все запуски, а не только запуски верхнего уровня.

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

Если задано значение True (по умолчанию), для повторного создания экземпляра объекта для этого типа вместо базового запуска будет использоваться зарегистрированный поставщик.

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

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

Тип Описание

Список запусков.

Комментарии

В следующем примере кода показано использование метода list.


   favorite_completed_runs = Run.list(experiment, status='Completed', tags='favorite')

   all_distinct_runs = Run.list(experiment)
   and_their_children = Run.list(experiment, include_children=True)

   only_script_runs = Run.list(experiment, type=ScriptRun.RUN_TYPE)

list_by_compute

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

static list_by_compute(compute, type=None, tags=None, properties=None, status=None)

Параметры

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

Содержащее вычисление.

type
str

Если указан этот параметр, возвращает запуски, соответствующие указанному типу.

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

Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "tag" или {"tag": "value"}.

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

Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "property" или {"property": "value"}.

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

Если указан этот параметр, возвращает запуски с указанным состоянием "status". Допустимы только значения Running (Выполняется) и Queued (В очереди).

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

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

Тип Описание
<xref:builtin.generator>

генератор ~_restclient.models.RunDto

log

Запишите значение метрики в выполнение с заданным именем.

log(name, value, description='', step=None)

Параметры

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

Имя метрики.

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

Значение, помещаемое в службу.

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

Необязательное описание метрики.

step
int

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

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

Комментарии

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

log_accuracy_table

Регистрирует таблицу точности в хранилище артефактов.

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

Вычисление таблицы точности похоже на вычисление кривой ROC. Кривая ROC отражает частоты истинноположительных и ложноположительных результатов при всевозможных значениях вероятности. В таблице точности хранится необработанное число истинноположительных, ложноположительных, истинноотрицательных и ложноотрицательных результатов при всевозможных пороговых значениях вероятности.

Для выбора пороговых значений используются два метода: "вероятность" и "процентиль". Они отличаются принципом выборки из пространства прогнозируемых вероятностей.

Пороги вероятности — это однородные пороговые значения в диапазоне от 0 до 1. Если NUM_POINTS имеет значение 5, пороговые значения вероятности будут равны [0,0, 0,25, 0,5, 0,75, 1,0].

Пороговые значения процентиля распределяются в соответствии с распределением прогнозируемых вероятностей. Каждое пороговое значение соответствует процентилю данных при пороговом значении вероятности. Например, если NUM_POINTS имеет значение 5, то первое пороговое значение будет на 0-м процентиле, второе — на 25-ом, третье — на 50-й и т. д.

Таблицы вероятностей и процентилей представляют собой трехмерные списки, в которых первое измерение представляет метку класса, второе — выборку при одном пороговом значении (масштабируется с использованием NUM_POINTS), а третье — всегда имеет 4 значения: истинноположительное (TP), ложноположительное (FP), истинноотрицательное (TN) и ложноотрицательное (FN) и всегда именно в таком порядке.

Значения неточности (TP, FP, TN, FN) вычисляются с помощью стратегии "один — остальные". Дополнительные сведения см. по следующей ссылке: https://en.wikipedia.org/wiki/Multiclass_classification.

N — число выборок в наборе данных для проверки (в примере 200); M — число пороговых значений или число выборок из пространства вероятностей (в примере 5); C — число классов в полном наборе данных (в примере 3)

Некоторые инварианты таблицы точности:

  • TP + FP + TN + FN = N для всех пороговых значений для всех классов
  • TP + FN одинаково во всех пороговых значениях для любого класса
  • TN + FP одинаково во всех пороговых значениях для любого класса
  • Таблицы вероятностей и таблицы процентилей имеют форму [C, M, 4]

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

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

log_accuracy_table(name, value, description='')

Параметры

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

Имя таблицы точности.

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

Значение JSON, содержащее имя, версию и свойства данных.

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

Необязательное описание метрики.

Комментарии

Пример допустимого значения JSON:


   {
       "schema_type": "accuracy_table",
       "schema_version": "1.0.1",
       "data": {
           "probability_tables": [
               [
                   [82, 118, 0, 0],
                   [75, 31, 87, 7],
                   [66, 9, 109, 16],
                   [46, 2, 116, 36],
                   [0, 0, 118, 82]
               ],
               [
                   [60, 140, 0, 0],
                   [56, 20, 120, 4],
                   [47, 4, 136, 13],
                   [28, 0, 140, 32],
                   [0, 0, 140, 60]
               ],
               [
                   [58, 142, 0, 0],
                   [53, 29, 113, 5],
                   [40, 10, 132, 18],
                   [24, 1, 141, 34],
                   [0, 0, 142, 58]
               ]
           ],
           "percentile_tables": [
               [
                   [82, 118, 0, 0],
                   [82, 67, 51, 0],
                   [75, 26, 92, 7],
                   [48, 3, 115, 34],
                   [3, 0, 118, 79]
               ],
               [
                   [60, 140, 0, 0],
                   [60, 89, 51, 0],
                   [60, 41, 99, 0],
                   [46, 5, 135, 14],
                   [3, 0, 140, 57]
               ],
               [
                   [58, 142, 0, 0],
                   [56, 93, 49, 2],
                   [54, 47, 95, 4],
                   [41, 10, 132, 17],
                   [3, 0, 142, 55]
               ]
           ],
           "probability_thresholds": [0.0, 0.25, 0.5, 0.75, 1.0],
           "percentile_thresholds": [0.0, 0.01, 0.24, 0.98, 1.0],
           "class_labels": ["0", "1", "2"]
       }
   }

log_confusion_matrix

Регистрирует матрицу неточности в хранилище артефактов.

При этом регистрируется программа-оболочка вокруг матрицы неточностей sklearn. Данные метрик содержат метки классов и двухмерный список для самой матрицы. Дополнительные сведения о вычислении метрики см. по следующей ссылке: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html.

log_confusion_matrix(name, value, description='')

Параметры

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

Имя матрицы неточностей.

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

Значение JSON, содержащее имя, версию и свойства данных.

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

Необязательное описание метрики.

Комментарии

Пример допустимого значения JSON:


   {
       "schema_type": "confusion_matrix",
       "schema_version": "1.0.0",
       "data": {
           "class_labels": ["0", "1", "2", "3"],
           "matrix": [
               [3, 0, 1, 0],
               [0, 1, 0, 1],
               [0, 0, 1, 0],
               [0, 0, 0, 1]
           ]
       }
   }

log_image

Запишите метрику изображения в запись о выполнении.

log_image(name, path=None, plot=None, description='')

Параметры

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

Имя метрики.

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

Путь или поток изображения.

plot
Обязательно
<xref:matplotlib.pyplot>

График регистрации в виде изображения.

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

Необязательное описание метрики.

Комментарии

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

log_list

Запишите список значений метрики в выполнение с заданным именем.

log_list(name, value, description='')

Параметры

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

Имя метрики.

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

Значения метрики.

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

Необязательное описание метрики.

log_predictions

Регистрирует прогнозы в хранилище артефактов.

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

Прогнозируемые значения сегментируются, а для отображения на графике планок погрешностей вычисляются стандартные отклонения.

log_predictions(name, value, description='')

Параметры

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

Имя прогнозов.

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

Значение JSON, содержащее имя, версию и свойства данных.

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

Необязательное описание метрики.

Комментарии

Пример допустимого значения JSON:


   {
       "schema_type": "predictions",
       "schema_version": "1.0.0",
       "data": {
           "bin_averages": [0.25, 0.75],
           "bin_errors": [0.013, 0.042],
           "bin_counts": [56, 34],
           "bin_edges": [0.0, 0.5, 1.0]
       }
   }

log_residuals

Регистрирует остатки в хранилище артефактов.

При этом регистрируются данные, необходимые для отображения гистограммы остатков для задачи регрессии. Остатки прогнозируемые — фактические.

Число краев должно быть на единицу больше, чем число количественных величин. Примеры использования количественных величин и краев для представления гистограммы см. в документации по гистограмме NumPy. https://docs.scipy.org/doc/numpy/reference/generated/numpy.histogram.html

log_residuals(name, value, description='')

Параметры

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

Имя остатков.

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

Значение JSON, содержащее имя, версию и свойства данных.

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

Необязательное описание метрики.

Комментарии

Пример допустимого значения JSON:


   {
       "schema_type": "residuals",
       "schema_version": "1.0.0",
       "data": {
           "bin_edges": [50, 100, 200, 300, 350],
           "bin_counts": [0.88, 20, 30, 50.99]
       }
   }

log_row

Регистрирует метрику строки в запуске с заданным именем.

log_row(name, description=None, **kwargs)

Параметры

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

Имя метрики.

description
str

Необязательное описание метрики.

значение по умолчанию: None
kwargs
Обязательно

Словарь дополнительных параметров. В этом случае это столбцы метрики.

Комментарии

С помощью log_row создается метрика таблицы со столбцами, как описано в kwargs. Каждый именованный параметр создает столбец с указанным значением. log_row можно вызвать один раз, чтобы записать произвольный кортеж, или несколько раз в цикле, чтобы создать полную таблицу.


   citrus = ['orange', 'lemon', 'lime']
   sizes = [ 10, 7, 3]
   for index in range(len(citrus)):
       run.log_row("citrus", fruit = citrus[index], size=sizes[index])

log_table

Запишите значение табличной метрики в выполнение с заданным именем.

log_table(name, value, description='')

Параметры

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

Имя метрики.

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

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

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

Необязательное описание метрики.

register_model

Регистрирует модель для ввода в эксплуатации.

register_model(model_name, model_path=None, tags=None, properties=None, model_framework=None, model_framework_version=None, description=None, datasets=None, sample_input_dataset=None, sample_output_dataset=None, resource_configuration=None, **kwargs)

Параметры

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

Имя модели

model_path
str

Относительный путь к модели в облаке, например "outputs/modelname". Если параметр не указан (None), в качестве пути используется model_name.

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

Словарь тегов значений ключей, которые необходимо назначить модели.

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

Словарь свойств значений ключей, которые необходимо назначить модели. Эти свойства нельзя изменить после создания модели, однако можно добавить новые пары "ключ-значение".

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

Структура регистрируемой модели. Поддерживаемые в настоящее время платформы: TensorFlow, ScikitLearn, Onnx, Custom, Multi

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

Версия платформы зарегистрированной модели.

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

Необязательное описание модели.

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

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

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

Необязательный элемент. Пример входного набора данных для зарегистрированной модели

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

Необязательный элемент. Пример выходного набора данных для зарегистрированной модели

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

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

значение по умолчанию: None
kwargs
Обязательно

Дополнительные параметры.

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

Тип Описание

Зарегистрированная модель.

Комментарии


   model = best_run.register_model(model_name = 'best_model', model_path = 'outputs/model.pkl')

remove_tags

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

remove_tags(tags)

Параметры

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

Список тегов для удаления.

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

Тип Описание

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

restore_snapshot

Восстанавливает моментальный снимок в виде ZIP-файла. Возвращает путь к ZIP-файлу.

restore_snapshot(snapshot_id=None, path=None)

Параметры

Имя Описание
snapshot_id
str

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

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

Путь, по которому сохранен скачанный ZIP-файл.

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

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

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

Путь.

set_tags

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

Можно также добавлять простые строковые теги. Если эти теги отображаются в словаре тегов в качестве ключей, то они имеют значение None (Нет). Дополнительные сведения см. в разделе Поиск запусков и добавление к ним тегов.

set_tags(tags)

Параметры

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

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

start

Помечает запуск как начатый.

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

start()

submit_child

Отправьте эксперимент и верните активный дочерний запуск.

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

Параметры

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

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

tags

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

значение по умолчанию: None
kwargs
Обязательно

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

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

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

Объект запуска.

Комментарии

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

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

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


   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 = parent_run.submit_child(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()

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

tag

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

tag(key, value=None)

Параметры

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

Ключ тега

value
str

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

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

Комментарии

Как теги, так и свойства для запуска являются словарями типа "строка —> строка". Отличаются они друг от друга изменяемостью: теги можно устанавливать, обновлять и удалять, а свойства можно только добавлять. Это делает свойства более подходящими для триггеров поведения, связанных с системой и рабочим процессом, в то время как теги обычно ориентированы на пользователей и понятны для потребителей эксперимента.


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

   run.add_properties({'BuildId': os.environ.get('VSTS_BUILD_ID')}) # Properties are not

   tags = run.get_tags()
   # tags = { 'DeploymentCandidate': None, 'modifiedBy': 'release pipeline' }

take_snapshot

Сохраняет моментальный снимок входного файла или папки.

take_snapshot(file_or_folder_path)

Параметры

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

Файл или папка, содержащие исходный код запуска.

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

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

Возвращает идентификатор моментального снимка.

Комментарии

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

Примечание

Моментальные снимки автоматически создаются при вызове submit. Как правило, этот метод take_snapshot требуется только для интерактивных запусков (записных книжек).

upload_file

Отправка файла в запись о выполнении.

upload_file(name, path_or_stream, datastore_name=None)

Параметры

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

Имя файла для отправки.

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

Относительный локальный путь или поток к отправляемому файлу.

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

Необязательное имя хранилища данных

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

Тип Описание

Комментарии


   run = experiment.start_logging()
   run.upload_file(name='important_file', path_or_stream="path/on/disk/file.txt")

Примечание

Выполняет автоматическую запись файла в указанном каталоге вывода, который по умолчанию имеет значение "./outputs" для большинства типов выполнения. Используйте upload_file только в том случае, если необходимо отправить дополнительные файлы или не указан выходной каталог.

upload_files

Отправляет файлы в запись о запуске.

upload_files(names, paths, return_artifacts=False, timeout_seconds=None, datastore_name=None)

Параметры

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

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

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

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

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

Указывает, что для каждого переданного файла должен быть возвращен объект артефакта.

timeout_seconds
Обязательно
int

Время ожидания отправки файлов.

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

Необязательное имя хранилища данных

Комментарии

upload_files имеет тот же результат, что и upload_file для отдельных файлов, однако использование upload_files имеет преимущества с точки зрения производительности и использования ресурсов.


   import os

   run = experiment.start_logging()
   file_name_1 = 'important_file_1'
   file_name_2 = 'important_file_2'
   run.upload_files(names=[file_name_1, file_name_2],
                       paths=['path/on/disk/file_1.txt', 'other/path/on/disk/file_2.txt'])

   run.download_file(file_name_1, 'file_1.txt')

   os.mkdir("path")  # The path must exist
   run.download_file(file_name_2, 'path/file_2.txt')

Примечание

Выполняет автоматическую запись файла в указанном каталоге вывода (по умолчанию ./outputs) для большинства типов выполнения. Используйте upload_files только в том случае, если необходимо отправить дополнительные файлы или не указан выходной каталог.

upload_folder

Отправляет указанную папку по заданному имени префикса.

upload_folder(name, path, datastore_name=None)

Параметры

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

Имя папки файлов для отправки.

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

Относительный локальный путь к папке для отправки.

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

Необязательное имя хранилища данных

Комментарии


   run = experiment.start_logging()
   run.upload_folder(name='important_files', path='path/on/disk')

   run.download_file('important_files/existing_file.txt', 'local_file.txt')

Примечание

Выполняет автоматическую запись файла в указанном каталоге вывода (по умолчанию ./outputs) для большинства типов выполнения. Используйте upload_folder только в том случае, если необходимо отправить дополнительные файлы или не указан выходной каталог.

wait_for_completion

Ожидает завершения этого запуска. Возвращает объект состояния после ожидания.

wait_for_completion(show_output=False, wait_post_processing=False, raise_on_error=True)

Параметры

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

Указывает, следует ли отображать выходные данные запуска в sys.stdout.

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

Указывает, следует ли дождаться завершения постобработки после завершения запуска.

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

Указывает, происходит ли ошибка, если выполнение находится в состоянии сбоя.

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

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

Тип Описание

Объект состояния.

Атрибуты

description

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

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

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

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

Описание запуска.

display_name

Возвращает отображаемое имя запуска.

Необязательное отображаемое имя запуска — это заданная пользователем строка, которую удобно использовать для последующей идентификации запуска.

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

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

Отображаемое имя запуска.

experiment

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

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

Тип Описание

Извлекает эксперимент, соответствующий запуску.

id

Получает идентификатор запуска.

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

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

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

Идентификатор запуска.

name

НЕ РЕКОМЕНДУЕТСЯ. Используйте display_name.

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

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

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

Идентификатор запуска.

number

Получает номер запуска.

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

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

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

Номер запуска.

parent

Получает из службы родительский запуск для этого запуска.

Запуски могут иметь необязательный родительский элемент, в результате чего может образовываться иерархическая структура запусков. Чтобы записать в журнал метрики для родительского запуска, используйте метод log родительского объекта, например run.parent.log().

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

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

Родительский запуск или ничего (None), если он не задан.

properties

Возвращает неизменяемые свойства данного запуска.

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

Тип Описание
dict[str],
str

Локально кэшированные свойства запуска.

Комментарии

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

status

Возвращает состояние объекта запуска.

tags

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

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

Тип Описание

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

type

Получает тип запуска.

Указывает, как был создан или настроен запуск.

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

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

Тип запуска.