Alternatives, Inspiration and Comparisons
What inspired Glasses, how it compares to other alternatives and what it learned from them.
Intro
Glasses wouldn't exist if not for the previous work of others and the f* amazing open-source community. We love every single one of you 🥰.
Transformers
Transformers
is not a model toolbox, therefore you cannot compose and share individual building components. Moreover, their philosophy of one model one file creates a lot of code repetition creating huge model files hard to read and understand.
Their testing approach, even if more robust than ours, increase the development time due to the amount of work required to make the model pass the tests.
Moreover, we are not motivated by financial gains. Thus, we don't follow the hype blindly.
Inspired Glasses to
How to call the AutoModel
class I guess.
IceVision
IceVision
is a great library to train models in different vision tasks. The main difference between glasses is that they don't "own" the model, they rely on third-party libraries with custom adapters.
This strategy makes it easier to increase the pool of available models, but a minor change in one dependency may break the whole codebase.
Our goal is also to teach, for this reason, we implemented all the models we use in a (hopefully) clear and concise way.
Inspired Glasses to
Provide a simple way to defined tasks' inputs/outsputs.
OpenMMLab
OpenMMLab
team has different amazing libraries for each vision task. However, they are fragmented and not easy to use due to the configuration system.
Their configuration system is not typed, therefore is impossible for the end-user to know what to place inside it. They used inheritance in configuration, making it challenging to have a full view of the system.
Finally, their Trainer
is a closed box; very hard to extend. We will rely on Lightning
Inspired Glasses to
Create nice and composable configurations.
Detectron2
If you know how use it, you are my hero.