exponenta event banner

отправить

Вычислите выход сети глубокого обучения YOLO v3 для обучения

    Описание

    features = forward(detector,dlX) вычисляет выходные характеристики сети во время обучения с учетом входных данных dlX.

    пример

    [features,activations] = forward(detector,dlX) также вычисляет активации сети, которые можно использовать для моделирования потери градиента.

    пример

    [features,activations,state] = forward(detector,dlX) также возвращает обновленное состояние сети.

    Примечание

    Для этой функции требуется модель Computer Vision Toolbox™ для обнаружения объектов YOLO v3. Модель панели инструментов Computer Vision Toolbox для обнаружения объектов YOLO v3 можно установить из проводника надстроек. Дополнительные сведения об установке надстроек см. в разделе Получение надстроек и управление ими. Для выполнения этой функции потребуется Toolbox™ глубокого обучения.

    Примеры

    свернуть все

    Загрузите предварительно обученный детектор объектов YOLO v3.

    detector = yolov3ObjectDetector('tiny-yolov3-coco');

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

    I = imread('highway.png');

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

    [Ip,info] = preprocess(detector,I);
    dlX = dlarray(Ip,'SSCB');

    Вычислите сетевые выходы, полученные во время обучения. forward функция возвращает активации из выходных уровней сети глубокого обучения YOLO v3. Первый столбец содержит доверительные баллы. Столбцы 2-5 содержат положения ограничивающей рамки, вычисленные относительно координат ячейки сетки. Шестой столбец содержит вероятности классов для каждого класса, используемого во время обучения. Седьмой и восьмой столбцы содержат предшествующую ширину и предшествующую высоту ограничивающих прямоугольников, вычисленные сетью соответственно. Выходные характеристики, вычисленные во время прямого прохода, используются для моделирования потерь градиента для сети.

    [output,activations,state] = forward(detector,dlX)
    output=2×8 cell array
        {13×13×3 single}    {13×13×3 single}    {13×13×3 single}    {13×13×3 single}    {13×13×3 single}    {13×13×240 single}    {13×13×3 single}    {13×13×3 single}
        {26×26×3 single}    {26×26×3 single}    {26×26×3 single}    {26×26×3 single}    {26×26×3 single}    {26×26×240 single}    {26×26×3 single}    {26×26×3 single}
    
    
    activations=2×8 cell array
        {13×13×3×1 dlarray}    {13×13×3×1 dlarray}    {13×13×3×1 dlarray}    {13×13×3×1 dlarray}    {13×13×3×1 dlarray}    {13×13×240×1 dlarray}    {13×13×3×1 dlarray}    {13×13×3×1 dlarray}
        {26×26×3×1 dlarray}    {26×26×3×1 dlarray}    {26×26×3×1 dlarray}    {26×26×3×1 dlarray}    {26×26×3×1 dlarray}    {26×26×240×1 dlarray}    {26×26×3×1 dlarray}    {26×26×3×1 dlarray}
    
    
    state=22×3 table
            Layer             Parameter              Value       
        ______________    _________________    __________________
    
        "batch_norm_1"    "TrainedMean"        {1×1×16   dlarray}
        "batch_norm_1"    "TrainedVariance"    {1×1×16   dlarray}
        "batch_norm_2"    "TrainedMean"        {1×1×32   dlarray}
        "batch_norm_2"    "TrainedVariance"    {1×1×32   dlarray}
        "batch_norm_3"    "TrainedMean"        {1×1×64   dlarray}
        "batch_norm_3"    "TrainedVariance"    {1×1×64   dlarray}
        "batch_norm_4"    "TrainedMean"        {1×1×128  dlarray}
        "batch_norm_4"    "TrainedVariance"    {1×1×128  dlarray}
        "batch_norm_5"    "TrainedMean"        {1×1×256  dlarray}
        "batch_norm_5"    "TrainedVariance"    {1×1×256  dlarray}
        "batch_norm_6"    "TrainedMean"        {1×1×512  dlarray}
        "batch_norm_6"    "TrainedVariance"    {1×1×512  dlarray}
        "batch_norm_7"    "TrainedMean"        {1×1×1024 dlarray}
        "batch_norm_7"    "TrainedVariance"    {1×1×1024 dlarray}
        "batch_norm_8"    "TrainedMean"        {1×1×256  dlarray}
        "batch_norm_8"    "TrainedVariance"    {1×1×256  dlarray}
          ⋮
    
    

    Входные аргументы

    свернуть все

    Детектор объекта YOLO v3, указанный как yolov3ObjectDetector объект.

    Данные обучения, указанные как отформатированные dlarray(Панель инструментов глубокого обучения).

    Выходные аргументы

    свернуть все

    Элементы вывода в координатах поля, возвращаемые в виде массива ячеек N-by-8. N - количество выходных уровней в сети глубокого обучения YOLO v3.

    Активации сети, возвращаемые в виде N-by-8 массива ячеек форматированного dlarray(Панель инструментов глубокого обучения). N - количество выходных уровней в сети глубокого обучения YOLO v3.

    Каждая строка в массиве ячеек имеет вид [conf bx by bw bh prob tw tw]. Функция возвращает каждую активацию как отформатированную dlarray (Deep Learning Toolbox) значение.

    АктивацииОписание
    confОценочные оценки достоверности для каждой ограничивающей рамки.
    основной обменРасчетное значение координаты X для центра ограничивающей рамки относительно расположения ячейки сетки.
    околоРасчетное значение координаты Y для центра ограничивающей рамки относительно расположения ячейки сетки.
    bwРасчетная ширина ограничивающей рамки относительно расположения ячейки сетки.
    bhРасчетная высота ограничивающей рамки относительно местоположения ячейки сетки.
    probВероятности классов, оцененные для каждого элемента на карте выходных элементов.
    twПредыдущая ширина ограничивающей рамки, рассчитанная сетью.
    thПредыдущая высота ограничивающей рамки, рассчитанная сетью.

    Обновлено состояние сети, возвращено в виде таблицы. Состояние сети представляет собой таблицу с тремя столбцами:

    • Layer - имя слоя, возвращаемое в виде строкового скаляра.

    • Parameter - имя параметра, возвращаемое в виде строкового скаляра.

    • Value - значение параметра, возвращаемое как объект числового массива.

    Состояние сети содержит информацию, запомненную сетью между итерациями.

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