I guess I'm unclear then. If no user level changes are being made,
then why was a fork needed? Couldn't this refactor just be done on
theano itself? When I saw there was a fork, I assumed it was because
you intended to make significant changes to the library that would
break the API with theano anyway.

There actually are some important user-level changes, but, right now, not 
enough to make the transition from Theano to Aesara difficult. Otherwise, 
custom classes and other less user-level interactions with Aesara cannot be 
ported as directly.

More importantly, we have some very large changes underway that will only 
increase the divide between Aesara and Theano, so we found it better to 
make the change sooner than later.
On Monday, March 15, 2021 at 6:07:38 PM UTC-5 Brandon T. Willard wrote:

> Same here. I also am interested in more background on the fork. Theano
> itself was supposed to be "dead" a few years ago when the original
> developers stopped working on it, but then the pymc developers picked
> up maintenance. 
>
> The PyMC group are also maintainers of the original Theano repo, but, per 
> request of the original maintainers, we are not making changes to the 
> Theano repo. The Theano repo really should be frozen, but I'm assuming that 
> we're leaving that up to the original maintainers. 
>
> Could the same thing happen again?
>
> Could development stop on Aesara as it did with Theano? If that's the 
> question you're asking, the answer is that it's always possible, but 
> unlikely to occur any time soon. There's still a real place for a primarily 
> Python-driven tensor library with a (relatively) accessible codebase. Also, 
> for PyMC's purposes and future, we need to work more and more at the tensor 
> library level, so it's important that the development requirements not 
> skyrocket, and that the underlying library not make detrimental design 
> and/or implementation changes.
>
> Also, I had heard that pymc was dropping theano in favor of tensorflow
> (do I remember this correctly?). Is this still planned, or has that
> changed to be aesara now?
>
> Since this announcement 
> <https://pymc-devs.medium.com/the-future-of-pymc3-or-theano-is-dead-long-live-theano-d8005f8a0e9b>,
>  
> we've dropped all plans to implement the next version of PyMC in 
> TensorFlow. The reason: it's possible for us to have the kind of tensor 
> library described above *and* use other backends, when desired. I wrote a 
> quick example of how we can convert Theano graphs to JAX "graphs", and that 
> was enough to prove the point.
>
> My original plan was to use SymPy for all this, but it would've resulted 
> in a distinct project anyway, because doing all that work via changes to 
> SymPy would've most likely taken too long.
> On Monday, March 15, 2021 at 5:34:27 PM UTC-5 asme...@gmail.com wrote:
>
>> On Mon, Mar 15, 2021 at 4:18 PM Oscar Benjamin
>> <oscar.j....@gmail.com> wrote:
>> >
>> > On Mon, 15 Mar 2021 at 22:01, Aaron Meurer <asme...@gmail.com> wrote:
>> > >
>> > > As long as Theano itself still works in versions of Python that SymPy
>> > > supports, it would be better to deprecate the function rather than
>> > > just remove it. The function theano_code is public API so just
>> > > removing it would be a backwards compatibility break, which we try to
>> > > avoid without deprecations. See
>> > > https://github.com/sympy/sympy/wiki/Deprecating-policy
>> >
>> > I think that if Theano itself is now unmaintained legacy software then
>> > it's fine to say that if someone wants to use it with sympy they
>> > should use an older version of sympy.
>> >
>> > > As an aside, one thing that has always annoyed me with Theano,
>> > > especially when SymPy imports it for its tests, is that Theano does a
>> > > lot of things at import time, such as running compilers to see if they
>> > > work and printing many warnings (see
>> > > https://github.com/sympy/sympy/pull/14747). I think it would be 
>> better
>> > > to do these things at runtime, e.g., after the first function is
>> > > called. I hope Aesara can improve this situation over Theano.
>> >
>> > This shows precisely that supporting something like Theano has a
>> > nonzero cost even if that support is "deprecated". When migrating our
>> > CI I had to work through many different projects that I do not know in
>> > order to keep the test suite ticking over. Each of those makes general
>> > project maintenance harder. I'm much happier about supporting a
>> > maintained project that has a future and has maintainers willing to
>> > help us provide support.
>>
>> These are fair points. It sounds like we should definitely not leave
>> it as is. We should either deprecate it or remove it.
>>
>> The existing pull request only does a name change, suggesting there
>> aren't very many differences between theano and aesara yet. So a
>> deprecation wouldn't be that hard. If that changes in the future, it
>> may be easier to just remove theanocode rather than trying to keep it
>> around.
>>
>> >
>> > I'm interested to hear from anyone using SymPy with Theano though (if
>> > anyone on this particular mailing list is).
>>
>> Same here. I also am interested in more background on the fork. Theano
>> itself was supposed to be "dead" a few years ago when the original
>> developers stopped working on it, but then the pymc developers picked
>> up maintenance. Could the same thing happen again?
>>
>> Also, I had heard that pymc was dropping theano in favor of tensorflow
>> (do I remember this correctly?). Is this still planned, or has that
>> changed to be aesara now?
>>
>> Aaron Meurer
>>
>> >
>> >
>> > Oscar
>> >
>> > --
>> > You received this message because you are subscribed to the Google 
>> Groups "sympy" group.
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an email to sympy+un...@googlegroups.com.
>> > To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sympy/CAHVvXxSoee41vDUk1oXzY-n-jgFi18z3Q15Beu6AP%2B5hOx-Thw%40mail.gmail.com
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/d43836ca-5acc-4273-936c-e14e612ad10an%40googlegroups.com.

Reply via email to