All Projects → SymJAX → SymJAX

SymJAX / SymJAX

Licence: Apache-2.0 License
Documentation:

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to SymJAX

Theano Xnor Net
Theano implementation of XNOR-Net
Stars: ✭ 23 (-77.67%)
Mutual labels:  lasagne, theano
Tars
A deep generative model library in Theano and Lasagne
Stars: ✭ 61 (-40.78%)
Mutual labels:  lasagne, theano
Iris Python
Collection of iris classifcation program for teaching purpose
Stars: ✭ 33 (-67.96%)
Mutual labels:  lasagne, theano
get-started-with-JAX
The purpose of this repo is to make it easy to get started with JAX, Flax, and Haiku. It contains my "Machine Learning with JAX" series of tutorials (YouTube videos and Jupyter Notebooks) as well as the content I found useful while learning about the JAX ecosystem.
Stars: ✭ 229 (+122.33%)
Mutual labels:  numpy, jax
Alphazero gomoku
An implementation of the AlphaZero algorithm for Gomoku (also called Gobang or Five in a Row)
Stars: ✭ 2,570 (+2395.15%)
Mutual labels:  lasagne, theano
Deepo
Setup and customize deep learning environment in seconds.
Stars: ✭ 6,145 (+5866.02%)
Mutual labels:  lasagne, theano
Feel The Kern
Generating proportional fonts with deep learning
Stars: ✭ 59 (-42.72%)
Mutual labels:  lasagne, theano
Tutorials
机器学习相关教程
Stars: ✭ 9,616 (+9235.92%)
Mutual labels:  theano, numpy
Psgan
Periodic Spatial Generative Adversarial Networks
Stars: ✭ 108 (+4.85%)
Mutual labels:  lasagne, theano
Repo 2016
R, Python and Mathematica Codes in Machine Learning, Deep Learning, Artificial Intelligence, NLP and Geolocation
Stars: ✭ 103 (+0%)
Mutual labels:  lasagne, theano
Deepalignmentnetwork
A deep neural network for face alignment
Stars: ✭ 480 (+366.02%)
Mutual labels:  lasagne, theano
2D-and-3D-Deep-Autoencoder
Convolutional AutoEncoder application on MRI images
Stars: ✭ 57 (-44.66%)
Mutual labels:  lasagne, theano
Practical rl
A course in reinforcement learning in the wild
Stars: ✭ 4,741 (+4502.91%)
Mutual labels:  lasagne, theano
Csc deeplearning
3-day dive into deep learning at csc
Stars: ✭ 22 (-78.64%)
Mutual labels:  lasagne, theano
Agentnet
Deep Reinforcement Learning library for humans
Stars: ✭ 298 (+189.32%)
Mutual labels:  lasagne, theano
Practical dl
DL course co-developed by YSDA, HSE and Skoltech
Stars: ✭ 1,006 (+876.7%)
Mutual labels:  lasagne, theano
Data Science Ipython Notebooks
Data science Python notebooks: Deep learning (TensorFlow, Theano, Caffe, Keras), scikit-learn, Kaggle, big data (Spark, Hadoop MapReduce, HDFS), matplotlib, pandas, NumPy, SciPy, Python essentials, AWS, and various command lines.
Stars: ✭ 22,048 (+21305.83%)
Mutual labels:  theano, numpy
Notes Python
中文 Python 笔记
Stars: ✭ 6,127 (+5848.54%)
Mutual labels:  theano, numpy
Deep Learning Python
Intro to Deep Learning, including recurrent, convolution, and feed forward neural networks.
Stars: ✭ 94 (-8.74%)
Mutual labels:  lasagne, theano
rnn benchmarks
RNN benchmarks of pytorch, tensorflow and theano
Stars: ✭ 85 (-17.48%)
Mutual labels:  lasagne, theano

SymJAX logo

SymJAX: symbolic CPU/GPU/TPU programming Continuous integration doctest license Code style: black

This is an under-development research project, not an official product, expect bugs and sharp edges; please help by trying it out, reporting bugs. Reference docs

What is SymJAX ?

SymJAX is a symbolic programming version of JAX simplifying graph input/output/updates and providing additional functionalities for general machine learning and deep learning applications. From an user perspective SymJAX apparents to Theano with fast graph optimization/compilation and broad hardware support, along with Lasagne-like deep learning functionalities

Why SymJAX ?

The number of libraries topping Jax/Tensorflow/Torch is large and growing by the day. What SymJAX offers as opposed to most is an all-in-one library with diverse functionalities such as

  • dozens of various datasets with clear descriptions and one line import
  • versatile set of functions from ffts, linear algebraic tools, random variables, ...
  • advanced signal processing tools such as multiple wavelet families (in time and frequency domain), multiple time-frequency representations, apodization windows, ...
  • IO utilities to monitor/save/track specific statistics during graph execution through h5 files and numpy, simple and explicit graph saving allowing to save and load models without burden
  • side utilities such as automatic batching of dataset, data splitting, cross-validation, ...

and most importantly, a SYMBOLIC/DECLARATIVE programming environment allowing CONCISE/EXPLICIT/OPTIMIZED computations.

For a deep network oriented imperative library built on JAX and with a JAX syntax check out FLAX.

Examples

import sys
import symjax as sj
import symjax.tensor as T

# create our variable to be optimized
mu = T.Variable(T.random.normal((), seed=1))

# create our cost
cost = T.exp(-(mu-1)**2)

# get the gradient, notice that it is itself a tensor that can then
# be manipulated as well
g = sj.gradients(cost, mu)
print(g)

# (Tensor: shape=(), dtype=float32)

# create the compiled function that will compute the cost and apply
# the update onto the variable
f = sj.function(outputs=cost, updates={mu:mu-0.2*g})

for i in range(10):
    print(f())

# 0.008471076
# 0.008201109
# 0.007946267
# ...

Installation

Make sure to install all the needed GPU drivers (for GPU support, not mandatory) and install JAX as described in this guide.

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].