mercredi 18 juillet 2018

Inheritance vs composition in keras -- Why is Model inherited from Network

Hi I am trying to set up my own deep learning framework for my specific domain and this post by @fchollet, the author of keras, helped me a lot. However I have a question regarding one specific design decision of keras, that Model is a class inherited from Network.

If I were tasked to design the framework, I would perhaps use Network as one component of Model, instead of the parent class. I understand this is linked to the classic principle of "composition over inheritance". I was just wondering why keras chose inheritance over composition in this case. Is this because Network is not used as a component elsewhere? (In other words, Model is the top level abstraction?)

Any comments are welcome. Thanks!

Aucun commentaire:

Enregistrer un commentaire