Closed gosha20777 closed 4 years ago
The implementation from Keras gives some complications. It is not following the implementation from Caffe and for some weird reason it gave horrible performance in tf-retinanet
. We did try it in tf-retinanet
, which is implemented here. I haven't looked at the https://github.com/qubvel/classification_models repository, it might be a better fit but it didn't exist at the time.
There is at the moment also another reason involved, which is legacy. Anyone who has trained a network with the current implementation, including us, cannot just switch to another implementation, unless the layers are identical. Porting to a different implementation is therefore pretty annoying.
Thanks for the quick response. I will try to add the missing backbones (resnet34, resnet18) to my implementation and train them on coco.
We use a very old keras_resnet implementation as a backbone.
Why not replace it with a model from the official keras zoo?
Or on a model from @qubvel classification-models repository (as it is done with efn networks or as done here)
In my opinion, this will give a lot of advantages and it will be possible to use various configurations of resnet-like networks as backbones. I also don't understand why this approach is not used in tf-retinanet