Добавил реализацию Efficient Det
В статье не указано куча мелких деталей, но с помощью кода авторов и кода вот отсюда удалось сделать нормально.
Отличие от Yet-Another-Eff-Det
1) опциональный SamePadding, который нужен только чтобы валидировать веса. Без него оно на 10-15% быстрее на инференсе и обучение + требует меньше памяти.
2) наша версия Swish быстрее
3) все параметризовано для удобной смены активаций и нормализации. Добавил отдельные аргументы encoder_norm_layer и decoder_norm_layer с намёком на то, что можно замораживать BN в энкодере
4) Нет сигмоиды на выходе классов, чтобы возвращать сырые logits
5) нет генерации anchor для каждого входа. Это сделано потому что обычно учатся на одинаковом разрешении и генерация anchors каждый шаг замедляет обучение.
По сути выход модели пока не очень юзабельный, надо будет добавить тестов на веса и в идеале пару тестов с постпроцессингом на известных картинках.
Добавил реализацию Efficient Det В статье не указано куча мелких деталей, но с помощью кода авторов и кода вот отсюда удалось сделать нормально. Отличие от Yet-Another-Eff-Det 1) опциональный SamePadding, который нужен только чтобы валидировать веса. Без него оно на 10-15% быстрее на инференсе и обучение + требует меньше памяти. 2) наша версия Swish быстрее 3) все параметризовано для удобной смены активаций и нормализации. Добавил отдельные аргументы
encoder_norm_layer
иdecoder_norm_layer
с намёком на то, что можно замораживать BN в энкодере 4) Нет сигмоиды на выходе классов, чтобы возвращать сырые logits 5) нет генерации anchor для каждого входа. Это сделано потому что обычно учатся на одинаковом разрешении и генерация anchors каждый шаг замедляет обучение.По сути выход модели пока не очень юзабельный, надо будет добавить тестов на веса и в идеале пару тестов с постпроцессингом на известных картинках.