Я точно уверен, какую реализацию вы используете, но во многих приложениях вы можете рассматривать глубокую модель как средство извлечения, чей вывод более или менее зависит от задачи c, за которым следует ряд спецификаций задачи c head.
Выбор бэкэнда зависит от ваших конкретных c ограничений с точки зрения компромисса между точностью и вычислительной сложностью. Примерами классических, но трудоемких решений для бэкэндов являются re snet -101, re snet -50 или VGG, которые могут быть объединены с FPN (сетями пирамидных элементов) для получения многомасштабных функций. Однако, если скорость - ваша главная задача, вы можете использовать меньшие бэкэнды, такие как различные архитектуры Mobil eNet или даже ванильные сети, такие как те, которые использовались в оригинальных документах Yolov1 / v2 (tinyYolo - крайний случай).
Как только вы выбрали свой бэкэнд (вы можете использовать предварительно обученный), вы можете загрузить его веса (это то, что ваши файлы * h5). Кроме того, вы добавите небольшую головку, которая будет выполнять задачи, которые вам нужны: это может быть классификация, регрессия bbox или, например, в сегментации фона / фона MaskRCNN. Для Yolov2 вы можете просто добавить очень мало, например, 3 сверточных слоя (с нелинейностями, конечно), которые будут выводить тензор размером
BxC1xC2xAxP
#B==batch size
#C1==number vertical of cells
#C2==number of horizontal cells
#C3==number of anchors
#C4==number of parameters (i.e. bbx parameters, class prediction, confidence)
Затем вы можете просто сохранить / загрузить веса эта голова отдельно. Когда вы довольны своими результатами, совместные (сквозные) тренировки обычно дают небольшой прирост точности.
Наконец, возвращаясь к последним вопросам, я предполагаю, что вы получаете плохие результаты с бэкэндами, потому что вы загружаете только бэкэнд-веса, а не веса голов. Другая возможность состоит в том, что вы используете голову, тренированную с бэкэндами X
, но вы переключаете бэкэнд на Y
. В этом случае, так как голова ожидает другие функции, естественно видеть снижение производительности.