ResNet-RS rewritten in Tensorlfow/Keras

Hello Community!

I’m sharing a personal project of mine, which was to rewrite ResNet-RS models from TPUEstimator to Tensorflow/Keras.

Features:
:ballot_box_with_check: Automatic weights download.
:ballot_box_with_check: Transfer learning possible.
:ballot_box_with_check: pip install directly from GitHub.
:ballot_box_with_check: keras.applications like usage.
:ballot_box_with_check: Use like any other Tensorflow/Keras model!

Other links:

Let me know what you think! :wave:

10 Likes

Nice work, I really appreciate the “thoroughness”, especially TFLite support and Docker

Thank you for the kind words! That’s what I had in mind :slightly_smiling_face:

1 Like

@sebastian-sz would you be interested in the following?

@sebastian-sz cc. @Sayak_Paul
Amazing job. There’s an option to contribute to the core API of these model families (as mentioned by brother sayak). If you consider that would be great, like you did for EfficientNet-V2 :slight_smile:

@Sayak_Paul @innat
Thank you for thinking of me.

Do you have information if it would be possible to simply, directly use (linted + slightly modified) my implementation’s model file?

If yes I could probably submit a PR by the end of this month.

2 Likes

Thanks for considering!

I quickly took a look at your implementation and it seems very structured. I think barring a few formatting and Keras-specific nits, you’d be well on your way.

Thanks! I will let you know, how things go.

1 Like

Please check

@Bhack
Do you mean that the PR, regarding this model family, should be opened in keras-cv instead of keras? Or that ResNetRS models should be retrained from scratch with components created in keras-cv?

The repository I created is simply a port of model architecture + weights. I did not include training code (but also none of the models under keras.applications do).
As for training components like dropblock / drop connect: they are present in the original repository but upon closer inspection their parameters are always either 0 or null, so I decided not to include them.

Yes there we will/would have all the reusable components to build and train these models.

In this case should we restrain from adding these models to keras.applications ?

I think that adding a model in keras.applications, model garden or TF HUB has different scope requirements.