All Projects → pymc-devs → Aesara

pymc-devs / Aesara

Licence: other
Aesara is a fork of the Theano library that is maintained by the PyMC developers. It was previously named Theano-PyMC.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Aesara

Theano lstm
🔬 Nano size Theano LSTM module
Stars: ✭ 310 (+113.79%)
Mutual labels:  automatic-differentiation, theano
Hptt
High-Performance Tensor Transpose library
Stars: ✭ 141 (-2.76%)
Mutual labels:  tensors
Rbql
🦜RBQL - Rainbow Query Language: SQL-like language for (not only) CSV file processing. Supports SQL queries with Python and JavaScript expressions
Stars: ✭ 118 (-18.62%)
Mutual labels:  transpiler
Ganspapercollection
Stars: ✭ 130 (-10.34%)
Mutual labels:  theano
Array
C++ multidimensional arrays in the spirit of the STL
Stars: ✭ 123 (-15.17%)
Mutual labels:  tensors
Rosid
Just-in-time development server and static site generator.
Stars: ✭ 139 (-4.14%)
Mutual labels:  transpiler
Ply
Painless polymorphism
Stars: ✭ 117 (-19.31%)
Mutual labels:  transpiler
Dcpp
Automatic differentiation in C++; infinite differentiability of conditionals, loops, recursion and all things C++
Stars: ✭ 143 (-1.38%)
Mutual labels:  automatic-differentiation
Ilqr
Iterative Linear Quadratic Regulator with auto-differentiatiable dynamics models
Stars: ✭ 141 (-2.76%)
Mutual labels:  theano
Webpack Babel Env Deps
Find dependencies to transpile with Babel.
Stars: ✭ 130 (-10.34%)
Mutual labels:  transpiler
C2go
⚖️ A tool for transpiling C to Go.
Stars: ✭ 1,736 (+1097.24%)
Mutual labels:  transpiler
Hyperdensenet
This repository contains the code of HyperDenseNet, a hyper-densely connected CNN to segment medical images in multi-modal image scenarios.
Stars: ✭ 124 (-14.48%)
Mutual labels:  theano
Swiftrewriter
A Swift Package Manager console app and library to convert Objective-C code into Swift.
Stars: ✭ 140 (-3.45%)
Mutual labels:  transpiler
Trojannn
Trojan Attack on Neural Network
Stars: ✭ 119 (-17.93%)
Mutual labels:  theano
Real Time Ml Project
A curated list of applied machine learning and data science notebooks and libraries across different industries.
Stars: ✭ 143 (-1.38%)
Mutual labels:  theano
Aardvark.base
Aardvark is an open-source platform for visual computing, real-time graphics and visualization. This repository is the basis for most platform libraries and provides basic functionality such as data-structures, math and much more.
Stars: ✭ 117 (-19.31%)
Mutual labels:  tensors
Nmtpy
nmtpy is a Python framework based on dl4mt-tutorial to experiment with Neural Machine Translation pipelines.
Stars: ✭ 127 (-12.41%)
Mutual labels:  theano
Tntorch
Tensor Network Learning with PyTorch
Stars: ✭ 133 (-8.28%)
Mutual labels:  tensors
Autograd.jl
Julia port of the Python autograd package.
Stars: ✭ 147 (+1.38%)
Mutual labels:  automatic-differentiation
Livianet
This repository contains the code of LiviaNET, a 3D fully convolutional neural network that was employed in our work: "3D fully convolutional networks for subcortical segmentation in MRI: A large-scale study"
Stars: ✭ 143 (-1.38%)
Mutual labels:  theano

|Tests Status| |Coverage|

|Project Name| is a Python library that allows you to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays. It can use GPUs and perform efficient symbolic differentiation.

This is a fork of the original Theano library <https://github.com/Theano/Theano>__ that is being maintained by the PyMC team <https://github.com/pymc-devs>__.

Features

  • A hackable, pure-Python codebase
  • Extensible graph framework suitable for rapid development of custom symbolic optimizations
  • Implements an extensible graph transpilation framework that currently provides compilation to C and JAX JITed Python functions
  • Built on top of one of the most widely-used Python tensor libraries: Theano

Getting started

.. code-block:: python

import aesara from aesara import tensor as aet from aesara.printing import debugprint

Declare two symbolic floating-point scalars

a = aet.dscalar("a") b = aet.dscalar("b")

Create a simple example expression

c = a + b

Convert the expression into a callable object that takes (a, b)

values as input and computes the value of c.

f_c = aesara.function([a, b], c)

assert f_c(1.5, 2.5) == 4.0

Compute the gradient of the example expression with respect to a

dc = aesara.grad(c, a)

f_dc = aesara.function([a, b], dc)

assert f_dc(1.5, 2.5) == 1.0

Compiling functions with aesara.function also optimizes

expression graphs by removing unnecessary operations and

replacing computations with more efficient ones.

v = aet.vector("v") M = aet.matrix("M")

d = a/a + (M + a).dot(v)

debugprint(d)

Elemwise{add,no_inplace} [id A] ''

|InplaceDimShuffle{x} [id B] ''

| |Elemwise{true_div,no_inplace} [id C] ''

| |a [id D]

| |a [id D]

|dot [id E] ''

|Elemwise{add,no_inplace} [id F] ''

| |M [id G]

| |InplaceDimShuffle{x,x} [id H] ''

| |a [id D]

|v [id I]

f_d = aesara.function([a, v, M], d)

a/a -> 1 and the dot product is replaced with a BLAS function

(i.e. CGemv)

debugprint(f_d)

Elemwise{Add}[(0, 1)] [id A] '' 5

|TensorConstant{(1,) of 1.0} [id B]

|CGemv{inplace} [id C] '' 4

|AllocEmpty{dtype='float64'} [id D] '' 3

| |Shape_i{0} [id E] '' 2

| |M [id F]

|TensorConstant{1.0} [id G]

|Elemwise{add,no_inplace} [id H] '' 1

| |M [id F]

| |InplaceDimShuffle{x,x} [id I] '' 0

| |a [id J]

|v [id K]

|TensorConstant{0.0} [id L]

The documentation is located here <https://aesara.readthedocs.io/en/latest/>__.

Installation

The latest release of |Project Name| can be installed from PyPI using pip:

::

pip install aesara

Or via conda-forge:

::

conda install -c conda-forge aesara

The current development branch of |Project Name| can be installed from GitHub, also using pip:

::

pip install git+https://github.com/pymc-devs/aesara

For platform-specific installation information see the legacy documentation here <http://deeplearning.net/software/theano/install.html>__.

Support

The PyMC group operates under the NumFOCUS umbrella. If you want to support us financially, you can donate here <https://numfocus.salsalabs.org/donate-to-pymc3/index.html>__.

.. |Project Name| replace:: Aesara .. |Tests Status| image:: https://github.com/pymc-devs/aesara/workflows/Tests/badge.svg :target: https://github.com/pymc-devs/aesara/actions?query=workflow%3ATests .. |Coverage| image:: https://codecov.io/gh/pymc-devs/aesara/branch/master/graph/badge.svg?token=WVwr8nZYmc :target: https://codecov.io/gh/pymc-devs/aesara

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].