returnn
returnn copied to clipboard
Dropping Theano Support
I know that we do not want to do it right away, but I still wanted to make an issue about this, as I would be in favor of doing this rather sooner than later. I think the biggest argument for doing this are the Theano only parameters which often cause confusion, but there are also many other small things that sometimes cause extra work or at least some attention. Many could be fixed separately (e.g. in some conditions the docs to not compile without theano installed), but this would be wasted effort in my opinion.
I would also volunteer to do the actual PR about this (and e.g. keeping a single tagged version).
Related is also #487.
I see no reason to continue to support Theano if it is indeed not maintained, and if it is being maintained then that is a loss of resources and it should be dropped even faster. If it is not maintained, then any user who really really wants it can just use an older version of RETURNN.
Note that I don't think it has caused us more than 5 minutes of work in the last few years in total, if at all.
And I would expect that all existing Theano setups do still work with the current RETURNN master.
But then, maybe no-one really cares anymore, and then you are right, we can just remove it. I don't really know anyone who still uses this.
I did not see this as priority, so there was not much activity from my side, but I still strongly support dropping this. I do have a branch where I started somewhere though, I can check what the status is there. I am sure we can find code outside the theano module that can be removed afterwards. Even if it is not much, each removed code-line will help in managing the codebase.
Point of fact, Theano support consists of more than 25% of the codebase minus test cases. Over 30% minus tools.
Yes we don't need to argue that it's good to have this cleaned up. But I again should note that this will really not have such a (or even any) practical influence on any of the issues we have with RETURNN. See any of the other open issues. None of them would be in any way easier or in any way affected by this.
Anyway, there is ongoing work to remove it in #1164.
As we are getting closer to finishing #1164, should we create a tag of the master now as final Theano version?
I'm not really sure that's needed. We can just say, commit 23cc84aa2b389737aa15e8a84c88c475bfd007a1 is one of the latest. This information is enough I think.
Ok