Skip to content

Typed frontend to TensorFlow and higher-order deep learning

License

Notifications You must be signed in to change notification settings

madriska/TypedFlow

 
 

Repository files navigation

TypedFlow

TypedFlow is a typed, higher-order frontend to TensorFlow and a high-level library for deep-learning.

The main design principles are:

  • To make the parameters of layers explicit. This choice makes sharing of parameters explicit and allows to implement “layers” as pure functions.
  • To provide as precise as possible types. Functions are explicit about the shapes and elements of the tensors that they manipulate (they are often polymorphic in shapes and elements though.)
  • To let combinators be as transparent as possible. If a NN layers is a simple tensor transformation it will be exposed as such.

In this version, the interface to TensorFlow is done via python-code generation and a suitable runtime system.

Documentation

The compiled documentation should be found on hackage.

Examples

TypedFlow comes with two examples of neural networks:

To running the examples can be done like so:

nix-env -iA nixpkgs.haskellPackages.styx
nix-env -iA nixpkgs.cabal2nix
styx configure
cd examples/seq2seq
make

About

Typed frontend to TensorFlow and higher-order deep learning

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Haskell 90.0%
  • Python 8.6%
  • Nix 1.3%
  • Makefile 0.1%