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

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

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

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

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

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

_run_dto
<xref:azureml._restclient.models.run_dto.RunDto>
Обязательно

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

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

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

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

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

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

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

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

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

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

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

Комментарии

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

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

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

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

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

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

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

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

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

  • загрузка текущего запуска из удаленной среды с помощью метода 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
dict
Обязательно

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

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
bool
значение по умолчанию: True

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

create_children

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

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

Параметры

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

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

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

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

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

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

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

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

fail

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

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

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

Параметры

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

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

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

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

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

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

flush

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

flush(timeout_seconds=300)

Параметры

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

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

get

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

static get(workspace, run_id)

Параметры

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

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

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

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

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

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

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

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
bool
значение по умолчанию: False

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

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

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

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

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

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

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

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

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

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

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

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

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

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

get_context

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

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

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

Параметры

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

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

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

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

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

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

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
bool
значение по умолчанию: False

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

run_type
str
значение по умолчанию: None
populate
bool
значение по умолчанию: 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
list[str]
Обязательно

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

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

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

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

dict[<xref:str: str>]

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

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

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

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

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

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

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

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

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

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

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

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

_rehydrate_runs
bool
значение по умолчанию: 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
ComputeTarget
Обязательно

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

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

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

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

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

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

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

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

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

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

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

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

<xref:builtin.generator>

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

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

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

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

Комментарии

С помощью 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
dict
Обязательно

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

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
значение по умолчанию: None

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

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

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

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

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

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

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

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

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

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

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

datasets
list[(str, AbstractDataset)]
значение по умолчанию: None

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

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

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

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

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

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

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

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

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

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

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

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

Комментарии


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

remove_tags

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

remove_tags(tags)

Параметры

tags
list
Обязательно

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

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

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

restore_snapshot

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

restore_snapshot(snapshot_id=None, path=None)

Параметры

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

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

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

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

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

Путь.

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

str

set_tags

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

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

set_tags(tags)

Параметры

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

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

start

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

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

start()

submit_child

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

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
bool
значение по умолчанию: False

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

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

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

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

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

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

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

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

Атрибуты

description

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

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

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

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

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

str

display_name

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

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

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

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

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

str

experiment

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

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

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

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

id

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

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

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

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

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

str

name

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

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

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

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

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

str

number

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

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

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

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

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

int

parent

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

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

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

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

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

Run

properties

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

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

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

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

dict[str],
str

Комментарии

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

status

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

tags

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

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

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

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

type

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

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

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

Тип запуска.

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

str