forward

Вычислите нейронную сеть для глубокого обучения 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 из Add-On Explorer. Для получения дополнительной информации об установке дополнений, смотрите, Получают и Управляют Дополнениями. Чтобы запустить эту функцию, вы потребуете Deep Learning 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 Объект (Deep Learning Toolbox).

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

    свернуть все

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

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

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

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

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

    • Layer – Имя слоя, возвращенное как строковый скаляр.

    • Parameter – Название параметра, возвращенное как строковый скаляр.

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

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

    Введенный в R2021a