[FEATURE] Could you introduce abstract classes or interfaces for clarity and easier extension?
Is your feature request related to a problem? Please describe. First of all thanks for creating and maintaining this great library. We're also using it to accelerate quick experiments. However, we also like to add new/custom models to it. To easily switch between the models of this repository and new ones, it would be great to have the same interface.
Currently, we're just paying attention to this manually, but having e.g. abstract base classes (or protocols) would prevent simple errors and also make interfaces even clearer (e.g. the distinction between FEAT_INTER_FILTERS and NON_STD_FILTERS models in test_models.py).
Describe the solution you'd like Could you introduce interfaces in the form of abstract base classes?
@cgebbe could you expand on how that'd be helpful, use cases etc? Keep in mind any changes cannot break jit scripting or tracing as people still expect that to work. Though I'd love to drop support for that someday.