All Projects → pymc-devs → symbolic-pymc

pymc-devs / symbolic-pymc

Licence: other
Tools for the symbolic manipulation of PyMC models, Theano, and TensorFlow graphs.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to symbolic-pymc

kanren
An extensible, lightweight relational/logic programming DSL written in pure Python
Stars: ✭ 111 (+91.38%)
Mutual labels:  minikanren, symbolic-computation, relational-programming
mathiu.cpp
mathiu : a simple computer algebra system in C++.
Stars: ✭ 58 (+0%)
Mutual labels:  symbolic-computation, symbolic-math
SymbolicTensors.jl
Manipulate tensors symbolically in Julia! Currently needs a SymPy dependency, but work is ongoing to change the backend to SymbolicUtils.jl
Stars: ✭ 26 (-55.17%)
Mutual labels:  symbolic-computation, symbolic-math
Gempy
GemPy is an open-source, Python-based 3-D structural geological modeling software, which allows the implicit (i.e. automatic) creation of complex geological models from interface and orientation data. It also offers support for stochastic modeling to adress parameter and model uncertainties.
Stars: ✭ 396 (+582.76%)
Mutual labels:  theano, bayesian
Theano-MPI
MPI Parallel framework for training deep learning models built in Theano
Stars: ✭ 55 (-5.17%)
Mutual labels:  theano
Keras Gp
Keras + Gaussian Processes: Learning scalable deep and recurrent kernels.
Stars: ✭ 218 (+275.86%)
Mutual labels:  theano
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+4331.03%)
Mutual labels:  theano
Opt Mmd
Learning kernels to maximize the power of MMD tests
Stars: ✭ 181 (+212.07%)
Mutual labels:  theano
binary.com-interview-question
The sample question for Interview a job in Binary options
Stars: ✭ 52 (-10.34%)
Mutual labels:  bayesian
Abacus
Advanced Combinatorics and Algebraic Number Theory Symbolic Computation library for JavaScript, Python
Stars: ✭ 16 (-72.41%)
Mutual labels:  symbolic-computation
gominikanren
a Go implementation of miniKanren, an embedded Domain Specific Language for logic programming.
Stars: ✭ 28 (-51.72%)
Mutual labels:  minikanren
Rnn ctc
Recurrent Neural Network and Long Short Term Memory (LSTM) with Connectionist Temporal Classification implemented in Theano. Includes a Toy training example.
Stars: ✭ 220 (+279.31%)
Mutual labels:  theano
email-summarization
A module for E-mail Summarization which uses clustering of skip-thought sentence embeddings.
Stars: ✭ 81 (+39.66%)
Mutual labels:  theano
Cnn Text Classification Keras
Text Classification by Convolutional Neural Network in Keras
Stars: ✭ 213 (+267.24%)
Mutual labels:  theano
Dropout BBalpha
Implementations of the ICML 2017 paper (with Yarin Gal)
Stars: ✭ 40 (-31.03%)
Mutual labels:  bayesian
Sca Cnn.cvpr17
Image Captions Generation with Spatial and Channel-wise Attention
Stars: ✭ 198 (+241.38%)
Mutual labels:  theano
Ensembler
Ensembler is a python package that provides fast and easy access to 1D and 2D model system simulations. It can be used for method development or to deepen understanding of a broad spectrum of modeling methods, from basic sampling techniques to enhanced sampling and free energy calculations. It is easy to install, fast, increases shareability, co…
Stars: ✭ 42 (-27.59%)
Mutual labels:  symbolic-math
seq2seq-autoencoder
Theano implementation of Sequence-to-Sequence Autoencoder
Stars: ✭ 12 (-79.31%)
Mutual labels:  theano
Kelvin
A powerful language for symbolic computation written in Swift.
Stars: ✭ 23 (-60.34%)
Mutual labels:  symbolic-computation
SemiDenseNet
Repository containing the code of one of the networks that we employed in the iSEG Grand MICCAI Challenge 2017, infant brain segmentation.
Stars: ✭ 55 (-5.17%)
Mutual labels:  theano

Symbolic PyMC

Build Status Coverage Status

Symbolic PyMC provides tools for the symbolic manipulation of PyMC models and their underlying computational graphs in Theano and TensorFlow. It enables graph manipulations in the relational DSL miniKanren—via the miniKanren package—by way of meta classes and S-expression forms of a graph.

This work stems from a series of articles starting here. Documentation and examples for Symbolic PyMC are available here.

This package is currently in alpha, so expect large-scale changes at any time!

Installation

The package name is symbolic_pymc and it can be installed with pip directly from GitHub

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

or after cloning the repo (and then installing with pip).

Features

General

  • Support for Theano and TensorFlow graphs
    • Unification and reification for all components of a graph
    • A more robust Theano Op for representing random variables
    • Conversion of PyMC3 models into sample-able Theano graphs representing all random variable inter-dependencies
    • A Theano LaTeX pretty printer that displays shape information and distributions in mathematical notation
    • Simple text-based TensorFlow graph print-outs
  • Full miniKanren integration for relational graph/model manipulation.
    • Perform simple and robust "search and replace" over arbitrary graphs (e.g. Python builtin collections, AST, tensor algebra graphs, etc.)
    • Create and compose relations with explicit high-level statistical/mathematical meaning and functionality, such as "X is a normal scale mixture with mixing distribution Y", and automatically "solve" for components (i.e. X and Y) that satisfy a relation
    • Apply non-trivial conditions—as relations—to produce sophisticated graph manipulations (e.g. search for normal scale mixtures and scale a term in the mixing distribution)
    • Integrate standard Python operations into relations (e.g. use a symbolic math library to compute an inverse-Laplace transform to determine if a distribution is a scale mixture—and find its mixing distribution)
  • Convert graphs to an S-expression-like tuple-based form and perform manipulations at the syntax level
  • Pre-built example relations for graph traversal, fixed-points, symbolic closed-form posteriors, and standard statistical model reformulations
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].