Как перенастроить выходной слой YOLO2 для определенного объема? - PullRequest
0 голосов
/ 09 ноября 2019

Привет, стекировщики dl4j: возможно ли получить вариант yolo, отличный от 5 параметров по умолчанию [x, y, w, h, p] Вот что у меня по умолчанию dl4j-examples репозиторий на github для 13 x 13 сетки-locked изображение

...
graphBuilder.addLayer("convolution2d_23",
                new ConvolutionLayer.Builder(1,1)
                        .nIn(1024)
                        .nOut(nBoxes* (5 +nClasses))//don't want the 5 default params always
                        .weightInit(WeightInit.XAVIER)
                        .stride(1,1)
                        .convolutionMode(ConvolutionMode.Same)
                        .weightInit(WeightInit.RELU)
                        .activation(Activation.IDENTITY)
                        .cudnnAlgoMode(cudnnAlgoMode)
                        .build(),
                "activation_22")
                .addLayer("outputs",
                        new Yolo2OutputLayer.Builder()
                                .boundingBoxPriors(priors)
                                .build(),
                        "convolution2d_23")
                .setOutputs("outputs");
graphBuilder.build();
...

Мне нужна переконфигурация для класса Yolo2OutputLayer или пользовательского Yolo2OutputLayer для выходного слоя, способного выводить любой конкретный том. в настоящее время мне нужно вывести том 13 x 13 x 80, в котором срез блока 1 x 1x 80 = 1 x 1 x 2[x, y, w, h, p, c, a0, a1,..., a31]

, где 2 равно числу ограничивающих прямоугольников на ячейку

x - ограничивающийкоордината x поля - 1
y - координата y ограничительной рамки - 1
w - ширина ограничительной рамки - 1
h - высота ограничительной рамки - 1
p - достоверность объекта ограничительной рамки - 1

c - класс ограничительной рамки (3классы) - 3
a0...a31 - мои пользовательские параметры - 32

...