EmbarkStudios / cervo

Utility wrappers for tract
Apache License 2.0
40 stars 1 forks source link

Models with automatic epsilon injectors shouldn't list Epsilon as an input. #31

Open tgolsson opened 1 year ago

tgolsson commented 1 year ago

Per title - if one has a model like let inferer = EpsilonInjector<T>(...), then inferer.input_shapes() will still contain ("epsilon", [...]) - which isn't a logical input for an external user.

This can lead to bugs when validity checking external inputs.

Since this'd be a breaking change (semantically) fixing this should be bundled with deprecating the input/output shapes API in favor of the ModelAPI functionality (and adding some utilities to that, eg, rank, cardinality, accessors).