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');

    Вычислите выходы сети, полученные во время обучения. The 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-на-8 массив ячеек форматированных dlarray (Deep Learning Toolbox) объекты. N - количество выхода слоев в нейронную сеть для глубокого обучения YOLO v3.

    Каждая строка в массиве ячеек имеет форму [<<reservedrangesplaceholder8> <reservedrangesplaceholder7> <reservedrangesplaceholder6> <reservedrangesplaceholder5> <reserved angesplaceholder4> <reservedrangesplaceholder3> <reservedrangesplaceholder2> <reservedrangesplaceholder1> ]. Функция возвращает каждую активацию как форматированную dlarray (Deep Learning Toolbox) значение.

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

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

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

    • Parameter - Имя параметра, возвращаемое как строковый скаляр.

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

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

    Введенный в R2021a