Run Класс
Определяет базовый класс для всех выполнений экспериментов Машинного обучения Azure.
Запуск представляет собой одну попытку выполнения эксперимента. Запуски используются для наблюдения за асинхронной реализацией попытки, записи метрик журнала и хранения выходных данных попытки, а также для анализа результатов и доступа к артефактам, формируемым в ходе попытки.
Объекты запуска создаются при отправке скрипта для обучения модели во множестве различных сценариев Машинного обучения Azure, в том числе при запусках HyperDrive, конвейера и AutoML. Объект запуска также создается при использовании submit или start_logging с классом Experiment.
Сведения о том, как приступить к работе с экспериментами и запусками, приведены в следующих статьях:
Инициализируйте объект Run.
- Наследование
-
azureml._run_impl.run_base._RunBaseRun
Конструктор
Run(experiment, run_id, outputs=None, **kwargs)
Параметры
Имя | Описание |
---|---|
experiment
Обязательно
|
Содержащий эксперимент. |
run_id
Обязательно
|
Идентификатор запуска. |
outputs
|
Выходные данные для отслеживания. Default value: None
|
_run_dto
Обязательно
|
<xref:azureml._restclient.models.run_dto.RunDto>
Только для внутреннего применения. |
kwargs
Обязательно
|
Словарь дополнительных параметров конфигурации. |
experiment
Обязательно
|
Содержащий эксперимент. |
run_id
Обязательно
|
Идентификатор запуска. |
outputs
Обязательно
|
Выходные данные для отслеживания. |
kwargs
Обязательно
|
Словарь дополнительных параметров конфигурации. |
Комментарии
Выполнение представляет собой одну попытку запуска эксперимента. Объект запуска используется для наблюдения за асинхронным выполнением попытки, регистрации метрик и хранения выходных данных попытки, а также для анализа результатов и доступа к артефактам, формируемым в ходе попытки.
Внутри кода эксперимента запуск используется для регистрации метрик и артефактов в службе журнала выполнения.
За пределами экспериментов запуск используется для отслеживания хода выполнения, а также запроса и анализа созданных метрик и результатов.
Запуск выполняет следующие функции:
хранение и получение метрик и данных;
отправка и скачивание файлов;
применение тегов, а также иерархии дочерних элементов для простого поиска выполненных запусков;
регистрация файлов хранимых моделей в качестве модели, которую можно ввести в эксплуатацию;
хранение, изменение и получение свойств запуска;
загрузка текущего запуска из удаленной среды с помощью метода get_context;
эффективное создание моментального снимка файла или каталога для обеспечения воспроизводимости.
Этот класс работает с Experiment в следующих сценариях:
создание запуска путем выполнения кода с помощью submit;
создание интерактивного запуска в записной книжке с помощью start_logging;
регистрация метрик и отправленных артефактов в эксперименте, например при использовании log;
считывание метрик и скачивание артефактов при анализе результатов эксперимента, например при использовании get_metrics.
Чтобы отправить запуск, создайте объект конфигурации, описывающий запуск эксперимента. Ниже приведены примеры различных объектов конфигурации, которые можно использовать.
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 для запуска с сообщением или исключением, переданным в |
flush |
Ожидает обработки очереди задач. |
get |
Получает запуск для этой рабочей области с соответствующим идентификатором запуска. |
get_all_logs |
Скачивает все журналы для запуска в каталоге. |
get_children |
Возвращает все дочерние запуски для текущего запуска, выбранного указанными фильтрами. |
get_context |
Возвращает текущий контекст службы. Используйте этот метод, чтобы получить текущий контекст службы для ведения журнала метрик и отправки файлов. Если |
get_detailed_status |
Получает последнее состояние запуска. Если состояние запуска — Queued (В очереди), будут отображены подробные сведения. |
get_details |
Получает определение, сведения о состоянии, текущие файлы журнала и другие сведения о запуске. |
get_details_with_logs |
Возвращает состояние запуска, включая содержимое файла журнала. |
get_environment |
Получает определение среды, которое использовалось этим запуском. |
get_file_names |
Список файлов, которые хранятся в связи с запуском. |
get_metrics |
Получает метрики, зарегистрированные для запуска в журнале. Если |
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) Некоторые инварианты таблицы точности:
Примечание. 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
Обязательно
|
Значение 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
|
Необязательное имя дочернего запуска, обычно задаваемое для "части". Default value: None
|
run_id
|
Необязательный идентификатор запуска для дочернего элемента. Если оно не задано, то создается автоматически. Обычно этот параметр не задан. Default value: None
|
outputs
|
Необязательный каталог выходных данных для отслеживания дочернего запуска. Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Дочерний запуск. |
Комментарии
Используется для изоляции части запуска в подразделе. Может применяться для идентифицируемых частей запуска, которые имеет смысл отделить, или для захвата независимых метрик при взаимодействии между различными подпроцессами.
Если для дочернего запуска задан выходной каталог, содержимое этого каталога будет отправлено в запись дочернего запуска после его завершения.
clean
Удаляет файлы, соответствующие текущему запуску для целевого объекта, указанного в конфигурации запуска.
clean()
Возвращаемое значение
Тип | Описание |
---|---|
Список удаляемых файлов. |
complete
Ожидает обработки очереди задач.
Затем запуск помечается как завершенный. Обычно используется в сценариях интерактивной записной книжки.
complete(_set_status=True)
Параметры
Имя | Описание |
---|---|
_set_status
|
Указывает, следует ли отправить событие состояния для отслеживания. Default value: True
|
create_children
Создает один или несколько дочерних запусков.
create_children(count=None, tag_key=None, tag_values=None)
Параметры
Имя | Описание |
---|---|
count
|
Необязательное число создаваемых дочерних запусков. Default value: None
|
tag_key
|
Необязательный ключ для заполнения записи Tags во всех созданных дочерних запусках. Default value: None
|
tag_Values
Обязательно
|
Необязательный список значений, которые будут сопоставлены с Tags[tag_key] для списка созданных запусков. |
tag_values
|
Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Список дочерних запусков. |
Комментарии
Необходимо указать параметр count
ИЛИ параметры tag_key
И tag_values
.
download_file
Скачивает связанный файл из хранилища.
download_file(name, output_file_path=None, _validate_checksum=False)
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя скачиваемого артефакта. |
output_file_path
Обязательно
|
Локальный путь для хранения артефакта. |
download_files
Скачивает файлы из расположения по заданному префиксу хранилища (имени папки) или со всего контейнера, если префикс не указан.
download_files(prefix=None, output_directory=None, output_paths=None, batch_size=100, append_prefix=True, timeout_seconds=None)
Параметры
Имя | Описание |
---|---|
prefix
Обязательно
|
Префикс пути к файлу в контейнере, из которого нужно скачать все артефакты. |
output_directory
Обязательно
|
Необязательный каталог, который используется в качестве префикса для всех путей к артефактам. |
output_paths
Обязательно
|
[str]
Необязательные пути к файлам, по которых хранятся скачанные артефакты. Должно быть уникальным и соответствовать требованиям к длине путей. |
batch_size
Обязательно
|
Число файлов для загрузки на пакет. Значение по умолчанию — 100 файлов. |
append_prefix
Обязательно
|
Необязательный флаг, указывающий на то, нужно ли добавлять указанный префикс в конечном пути к выходному файлу. Если значение равно false, префикс удаляется из пути к выходному файлу. |
timeout_seconds
Обязательно
|
Время ожидания для скачивания файлов. |
fail
Помечает запуск как неудачный.
При необходимости задайте свойство Error для запуска с сообщением или исключением, переданным в error_details
.
fail(error_details=None, error_code=None, _set_status=True)
Параметры
Имя | Описание |
---|---|
error_details
|
str или
BaseException
Необязательные сведения об ошибке. Default value: None
|
error_code
|
Необязательный код ошибки для классификации ошибок. Default value: None
|
_set_status
|
Указывает, следует ли отправить событие состояния для отслеживания. Default value: True
|
flush
Ожидает обработки очереди задач.
flush(timeout_seconds=300)
Параметры
Имя | Описание |
---|---|
timeout_seconds
|
Время ожидания (в секундах) обработки очереди задач. Default value: 300
|
get
Получает запуск для этой рабочей области с соответствующим идентификатором запуска.
static get(workspace, run_id)
Параметры
Имя | Описание |
---|---|
workspace
Обязательно
|
Содержащая рабочая область. |
run_id
Обязательно
|
Идентификатор запуска. |
Возвращаемое значение
Тип | Описание |
---|---|
Отправленный запуск. |
get_all_logs
Скачивает все журналы для запуска в каталоге.
get_all_logs(destination=None)
Параметры
Имя | Описание |
---|---|
destination
|
Целевой путь для хранения журналов. Если этот параметр не указан, в каталоге проекта создается каталог, в качестве имени которого используется идентификатор запуска. Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Список имен скачанных журналов. |
get_children
Возвращает все дочерние запуски для текущего запуска, выбранного указанными фильтрами.
get_children(recursive=False, tags=None, properties=None, type=None, status=None, _rehydrate_runs=True)
Параметры
Имя | Описание |
---|---|
recursive
|
Указывает, следует ли выполнять рекурсивный перебор всех потомков. Default value: False
|
tags
|
Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "tag" или {"tag": "value"}. Default value: None
|
properties
|
Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "property" или {"property": "value"}. Default value: None
|
type
|
Если указан этот параметр, возвращает запуски, соответствующие этому типу. Default value: None
|
status
|
Если указан этот параметр, возвращает запуски с указанным состоянием "status". Default value: None
|
_rehydrate_runs
|
Указывает, что следует создать: экземпляр запуска исходного типа или базовый запуск. Default value: True
|
Возвращаемое значение
Тип | Описание |
---|---|
Список объектов Run. |
get_context
Возвращает текущий контекст службы.
Используйте этот метод, чтобы получить текущий контекст службы для ведения журнала метрик и отправки файлов. Если allow_offline
имеет значение true (по умолчанию), действия с объектом запуска будут выводиться через стандартный выход.
get_context(allow_offline=True, used_for_context_manager=False, **kwargs)
Параметры
Имя | Описание |
---|---|
cls
Обязательно
|
Указывает метод класса. |
allow_offline
|
Разрешает контексту службы возвращаться в автономный режим, чтобы скрипт обучения можно было протестировать локально, не отправляя задание с помощью пакета SDK. По умолчанию имеет значение TRUE. Default value: True
|
kwargs
Обязательно
|
Словарь дополнительных параметров. |
used_for_context_manager
|
Default value: False
|
Возвращаемое значение
Тип | Описание |
---|---|
Отправленный запуск. |
Комментарии
Эта функция обычно используется для получения прошедшего проверку подлинности объекта запуска в скрипте, который будет отправлен для выполнения с помощью 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
|
Имя метрики. Default value: None
|
recursive
|
Указывает, следует ли выполнять рекурсивный перебор всех потомков. Default value: False
|
run_type
|
Default value: None
|
populate
|
Указывает, следует ли получать содержимое внешних данных, связанных с метрикой. Default value: 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
Обязательно
|
Имя секрета, для которого возвращается секрет. |
Возвращаемое значение
Тип | Описание |
---|---|
Значение секрета. |
get_secrets
Получает значения секретов для заданного списка имен секретов.
Получает словарь найденных и ненайденных секретов для списка указанных имен. Каждое имя секрета ссылается на значение, хранящееся в решении Azure Key Vault, связанном с рабочей областью. Пример работы с секретами см. в разделе Использование секретов при запусках обучения.
get_secrets(secrets)
Параметры
Имя | Описание |
---|---|
secrets
Обязательно
|
Список имен секретов, для которых возвращаются значения секретов. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает словарь найденных и ненайденных секретов. |
get_snapshot_id
Получает идентификатор последнего моментального снимка.
get_snapshot_id()
Возвращаемое значение
Тип | Описание |
---|---|
Идентификатор последнего моментального снимка. |
get_status
Получает последнее состояние запуска.
Обычно возвращаются значения Running (Выполняется), Completed (Завершено) и Failed (Сбой).
get_status()
Возвращаемое значение
Тип | Описание |
---|---|
Последнее состояние. |
Комментарии
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)
Возвращаемое значение
Тип | Описание |
---|---|
Отправленный запуск. |
get_tags
Получает последний набор изменяемых тегов для запуска из службы.
get_tags()
Возвращаемое значение
Тип | Описание |
---|---|
Теги, хранящиеся в объекте запуска. |
list
Получение списка запусков в эксперименте, заданном необязательными фильтрами.
static list(experiment, type=None, tags=None, properties=None, status=None, include_children=False, _rehydrate_runs=True)
Параметры
Имя | Описание |
---|---|
experiment
Обязательно
|
Содержащий эксперимент. |
type
|
Если указан этот параметр, возвращает запуски, соответствующие указанному типу. Default value: None
|
tags
|
Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "tag" или {"tag": "value"}. Default value: None
|
properties
|
Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "property" или {"property": "value"}. Default value: None
|
status
|
Если указан этот параметр, возвращает запуски с указанным состоянием "status". Default value: None
|
include_children
|
Если задано значение true, получает все запуски, а не только запуски верхнего уровня. Default value: False
|
_rehydrate_runs
|
Если задано значение True (по умолчанию), для повторного создания экземпляра объекта для этого типа вместо базового запуска будет использоваться зарегистрированный поставщик. Default value: 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
|
Если указан этот параметр, возвращает запуски, соответствующие указанному типу. Default value: None
|
tags
|
Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "tag" или {"tag": "value"}. Default value: None
|
properties
|
Если указан этот параметр, возвращает запуски, соответствующие указанными значениям "property" или {"property": "value"}. Default value: None
|
status
|
Если указан этот параметр, возвращает запуски с указанным состоянием "status". Допустимы только значения Running (Выполняется) и Queued (В очереди). Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
<xref:builtin.generator>
|
генератор ~_restclient.models.RunDto |
log
Запишите значение метрики в выполнение с заданным именем.
log(name, value, description='', step=None)
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя метрики. |
value
Обязательно
|
Значение, помещаемое в службу. |
description
Обязательно
|
Необязательное описание метрики. |
step
|
Необязательная ось для указания порядка значений в метрике. Default value: 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
Обязательно
|
Имя таблицы точности. |
value
Обязательно
|
Значение JSON, содержащее имя, версию и свойства данных. |
description
Обязательно
|
Необязательное описание метрики. |
Комментарии
Пример допустимого значения 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
Обязательно
|
Имя матрицы неточностей. |
value
Обязательно
|
Значение JSON, содержащее имя, версию и свойства данных. |
description
Обязательно
|
Необязательное описание метрики. |
Комментарии
Пример допустимого значения 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
Обязательно
|
Имя метрики. |
path
Обязательно
|
Путь или поток изображения. |
plot
Обязательно
|
<xref:matplotlib.pyplot>
График регистрации в виде изображения. |
description
Обязательно
|
Необязательное описание метрики. |
Комментарии
Используйте этот метод, чтобы записать файл изображения или график matplotlib в запуск. Эти изображения будут видимы, и их можно сравнить в записи о выполнении.
log_list
Запишите список значений метрики в выполнение с заданным именем.
log_list(name, value, description='')
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя метрики. |
value
Обязательно
|
Значения метрики. |
description
Обязательно
|
Необязательное описание метрики. |
log_predictions
Регистрирует прогнозы в хранилище артефактов.
При этом регистрируется показатель метрики, который можно использовать для сравнения распределений истинных целевых значений с распределением прогнозируемых значений для задачи регрессии.
Прогнозируемые значения сегментируются, а для отображения на графике планок погрешностей вычисляются стандартные отклонения.
log_predictions(name, value, description='')
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя прогнозов. |
value
Обязательно
|
Значение JSON, содержащее имя, версию и свойства данных. |
description
Обязательно
|
Необязательное описание метрики. |
Комментарии
Пример допустимого значения 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
Обязательно
|
Имя остатков. |
value
Обязательно
|
Значение JSON, содержащее имя, версию и свойства данных. |
description
Обязательно
|
Необязательное описание метрики. |
Комментарии
Пример допустимого значения 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
Обязательно
|
Имя метрики. |
description
|
Необязательное описание метрики. Default value: 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
Обязательно
|
Имя метрики. |
value
Обязательно
|
Табличное значение метрики, словарь, где ключи представляют собой столбцы, которые должны быть помещены в службу. |
description
Обязательно
|
Необязательное описание метрики. |
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
Обязательно
|
Имя модели |
model_path
|
Относительный путь к модели в облаке, например "outputs/modelname".
Если параметр не указан (None), в качестве пути используется Default value: None
|
tags
|
Словарь тегов значений ключей, которые необходимо назначить модели. Default value: None
|
properties
|
Словарь свойств значений ключей, которые необходимо назначить модели. Эти свойства нельзя изменить после создания модели, однако можно добавить новые пары "ключ-значение". Default value: None
|
model_framework
|
Структура регистрируемой модели. Поддерживаемые в настоящее время платформы: TensorFlow, ScikitLearn, Onnx, Custom, Multi Default value: None
|
model_framework_version
|
Версия платформы зарегистрированной модели. Default value: None
|
description
|
Необязательное описание модели. Default value: None
|
datasets
|
Список кортежей, в которых первый элемент описывает связь между набором данных и моделью, а второй элемент — это набор данных. Default value: None
|
sample_input_dataset
|
Необязательный элемент. Пример входного набора данных для зарегистрированной модели Default value: None
|
sample_output_dataset
|
Необязательный элемент. Пример выходного набора данных для зарегистрированной модели Default value: None
|
resource_configuration
|
Необязательный элемент. Конфигурация ресурсов для запуска зарегистрированной модели Default value: 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
|
Идентификатор моментального снимка для восстановления. Если не указан, используется последний. Default value: None
|
path
|
Путь, по которому сохранен скачанный ZIP-файл. Default value: None
|
Возвращаемое значение
Тип | Описание |
---|---|
Путь. |
set_tags
Добавляет или изменяет набор тегов в запуске. Теги, не передаваемые в словаре, остаются без изменений.
Можно также добавлять простые строковые теги. Если эти теги отображаются в словаре тегов в качестве ключей, то они имеют значение None (Нет). Дополнительные сведения см. в разделе Поиск запусков и добавление к ним тегов.
set_tags(tags)
Параметры
Имя | Описание |
---|---|
tags
Обязательно
|
Теги, хранящиеся в объекте запуска. |
start
Помечает запуск как начатый.
Обычно используется в расширенных сценариях, когда запуск был создан другим субъектом.
start()
submit_child
Отправьте эксперимент и верните активный дочерний запуск.
submit_child(config, tags=None, **kwargs)
Параметры
Имя | Описание |
---|---|
config
Обязательно
|
Конфигурация для отправки. |
tags
|
Теги, добавляемые в отправленный запуск, например {"tag": "value"}. Default value: None
|
kwargs
Обязательно
|
Дополнительные параметры, используемые для конфигураций в функции отправки. |
Возвращаемое значение
Тип | Описание |
---|---|
Объект запуска. |
Комментарии
Отправка — это асинхронный вызов платформы Машинного обучения 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
Обязательно
|
Ключ тега |
value
|
Необязательное значение для тега Default value: 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
Обязательно
|
Файл или папка, содержащие исходный код запуска. |
Возвращаемое значение
Тип | Описание |
---|---|
Возвращает идентификатор моментального снимка. |
Комментарии
Моментальные снимки должны быть исходным кодом, используемым для запуска эксперимента. Они сохраняются вместе с запуском, чтобы можно было реплицировать попытку запуска в будущем.
Примечание
Моментальные снимки автоматически создаются при вызове submit. Как правило, этот метод take_snapshot требуется только для интерактивных запусков (записных книжек).
upload_file
Отправка файла в запись о выполнении.
upload_file(name, path_or_stream, datastore_name=None)
Параметры
Имя | Описание |
---|---|
name
Обязательно
|
Имя файла для отправки. |
path_or_stream
Обязательно
|
Относительный локальный путь или поток к отправляемому файлу. |
datastore_name
Обязательно
|
Необязательное имя хранилища данных |
Возвращаемое значение
Тип | Описание |
---|---|
Комментарии
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
Обязательно
|
Время ожидания отправки файлов. |
datastore_name
Обязательно
|
Необязательное имя хранилища данных |
Комментарии
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
Обязательно
|
Имя папки файлов для отправки. |
folder
Обязательно
|
Относительный локальный путь к папке для отправки. |
datastore_name
Обязательно
|
Необязательное имя хранилища данных |
Комментарии
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. Default value: False
|
wait_post_processing
|
Указывает, следует ли дождаться завершения постобработки после завершения запуска. Default value: False
|
raise_on_error
|
Указывает, происходит ли ошибка, если выполнение находится в состоянии сбоя. Default value: True
|
Возвращаемое значение
Тип | Описание |
---|---|
Объект состояния. |
Атрибуты
description
Возвращает описание запуска.
Необязательное описание запуска — это заданная пользователем строка, которую удобно использовать для описания запуска.
Возвращаемое значение
Тип | Описание |
---|---|
Описание запуска. |
display_name
Возвращает отображаемое имя запуска.
Необязательное отображаемое имя запуска — это заданная пользователем строка, которую удобно использовать для последующей идентификации запуска.
Возвращаемое значение
Тип | Описание |
---|---|
Отображаемое имя запуска. |
experiment
Получает эксперимент, содержащий запуск.
Возвращаемое значение
Тип | Описание |
---|---|
Извлекает эксперимент, соответствующий запуску. |
id
Получает идентификатор запуска.
Идентификатор запуска — это уникальный идентификатор в пределах эксперимента, в рамках которого он выполняется.
Возвращаемое значение
Тип | Описание |
---|---|
Идентификатор запуска. |
name
НЕ РЕКОМЕНДУЕТСЯ. Используйте display_name.
Необязательное имя запуска — это заданная пользователем строка, которую удобно использовать для последующей идентификации запуска.
Возвращаемое значение
Тип | Описание |
---|---|
Идентификатор запуска. |
number
Получает номер запуска.
Последовательно увеличивающееся число, представляющее собой порядковый номер запуска в эксперименте.
Возвращаемое значение
Тип | Описание |
---|---|
Номер запуска. |
parent
Получает из службы родительский запуск для этого запуска.
Запуски могут иметь необязательный родительский элемент, в результате чего может образовываться иерархическая структура запусков. Чтобы записать в журнал метрики для родительского запуска, используйте метод log родительского объекта, например run.parent.log()
.
Возвращаемое значение
Тип | Описание |
---|---|
Родительский запуск или ничего (None), если он не задан. |
properties
Возвращает неизменяемые свойства данного запуска.
Возвращаемое значение
Тип | Описание |
---|---|
Локально кэшированные свойства запуска. |
Комментарии
Свойства включают в себя неизменяемую системную информацию, например длительность, дату выполнения, пользователя и т. д.
status
Возвращает состояние объекта запуска.
tags
Возвращает набор изменяемых тегов для данного запуска.
Возвращаемое значение
Тип | Описание |
---|---|
Теги, хранящиеся в объекте запуска. |
type
Получает тип запуска.
Указывает, как был создан или настроен запуск.
Возвращаемое значение
Тип | Описание |
---|---|
Тип запуска. |