Skip to main content

Striving towards backwards compatibility with the Theano -> Aesara transition

Project description

aesara-theano-fallback

Striving towards backwards compatibility as Theano is replaced by Aesara by the PyMC3 project. The idea is to provide a nearly drop in replacement for importing aesara that will fall back onto theano when aesara is not installed. This was specifically designed to support the exoplanet and starry projects so it might not support all of the features that you need. If you find something that isn't supported, please submit a pull request!

Installaion

This library can be installed using pip:

python -m pip install aesara-theano-fallback

Usage

The syntax is designed to mostly follow aesara, so things like the following will often work:

import aesara_theano_fallback.tensor as aet

For top-level access, use

from aesara_theano_fallback import aesara

One place where the syntax has changed significantly between Theano and Aesara is the theano.gof module was re-named to aesara.graph and the contents were moved around a little bit. For exoplanet and starry, we define a few custom Ops and you can use this library to do that as follows:

from aesara_theano_fallback.graph import basic, op

class MyPythonOp(op.Op):
    def make_node(self, *args):
        # ...
        return basic.Apply(self, in_args, out_args)

class MyCOp(op.ExternalCOp):
    func_file = "./cpp_impl.cc"
    func_name = "APPLY_SPECIFIC(my_op_name)"
    # ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aesara_theano_fallback-0.1.0.tar.gz (6.5 kB view hashes)

Uploaded Source

Built Distribution

aesara_theano_fallback-0.1.0-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page