exponenta event banner

эксперименты. Монитор

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

    Описание

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

    Создание

    При выполнении пользовательского учебного эксперимента Диспетчер экспериментов создает experiments.Monitor объект для каждой пробной версии эксперимента. Доступ к объекту в качестве второго входного аргумента обучающей функции.

    Свойства

    развернуть все

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

    Пример: monitor.Status = "Loading Data";

    Типы данных: char | string

    Ход обучения для пробной версии, указанный как числовой скаляр от 0 до 100.

    Пример: monitor.Progress = 17;

    Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fi

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

    Это значение можно задать только один раз в функции обучения.

    Пример: monitor.Info = ["GradientDecayFactor","SquaredGradientDecayFactor"];

    Типы данных: char | string

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

    Это значение можно задать только один раз в функции обучения.

    Пример: monitor.Metrics = ["TrainingLoss","ValidationLoss"];

    Типы данных: char | string

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

    Задайте это значение перед вызовом функции recordMetrics.

    Пример: monitor.XLabel = "Iteration";

    Типы данных: char | string

    Это свойство доступно только для чтения.

    Флаг остановки пробной версии, указанный как числовой или логический 1 (true) или 0 (false). Значение этого свойства изменяется на true при нажатии кнопки Остановить (Stop) на панели инструментов Диспетчера экспериментов (Experiment Manager) или в таблице результатов.

    Типы данных: logical

    Функции объекта

    groupSubPlotГрупповые показатели на экспериментальном обучающем графике
    recordMetricsЗапись метрических значений в таблицу результатов эксперимента и график обучения
    updateInfoОбновить информационные столбцы в таблице результатов эксперимента

    Примеры

    свернуть все

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

    Перед началом обучения укажите имена информационных и метрических столбцов таблицы результатов Диспетчера экспериментов (Experiment Manager).

    monitor.Info = ["GradientDecayFactor","SquaredGradientDecayFactor"];
    monitor.Metrics = ["TrainingLoss","ValidationLoss"];

    Укажите метку горизонтальной оси для графика обучения. Сгруппируйте потери при обучении и проверке в одном и том же вложенном графике.

    monitor.XLabel = "Iteration";
    groupSubPlot(monitor,"Loss",["TrainingLoss","ValidationLoss"]);

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

    updateInfo(monitor, ...
        'GradientDecayFactor',gradientDecayFactor, ...
        'SquaredGradientDecayFactor',squaredGradientDecayFactor);

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

    recordMetrics(monitor,iteration, ...
        'TrainingLoss',trainingLoss, ...
        'ValidationLoss',validationLoss);

    Обновите ход обучения для пробной версии на основе доли выполненных итераций.

    monitor.Progress = (iteration/numIterations) * 100;

    Совет

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

    Представлен в R2021a