returnn
returnn copied to clipboard
Deprecating num_inputs/num_outputs in favour of extern_data
Discussion related to #508
using num_inputs and num_outputs should throw an error message as new behaviour.
Only extern_data should be used.
This change should also directly enforce not to use the tuple-style declaration (or maybe that's already the case of extern_data, I forgot).
Okay, but if we go into the contents of extern_data as well, then we can also directly enforce to use explicit available_for_inference. The (hidden) defaults of this caused some problems to me before (as I did not know them), and the defaults only work correct for the "data -> classes" datasets. If you do anything other than that it is required to specify them anyway.
I know that about 80% of what people do right now are actually "data -> classes" (most ASR and most MT without additional token), but I still think this should be explicit so that users are aware of this.
Hm, available_for_inference is a bit more controversial. So I would keep that for a separate discussion, and for a separate change.
Ok!
This here is a case where we do not necessarily need a new behavior_version and instead could just print a deprecation warning.
Warning is now in place (via 21b1210e6), but I would still keep this open to enforce this with a behavior version in the future