TensorX is a high-level deep neural network library written in Python that simplifies model specification, training, and execution using TensorFlow. It was designed for fast prototyping with minimum verbose and provides a set of modular components with a user-centric consistent API.
Design Philosophy
TensorX aims to be simple but sophisticated without a code base plagued by unnecessary abstractions and over-engineering and without sacrificing performance. It uses Tensorflow without hiding it completely behind a new namespace, it's mean to be a complement instead of a complete abstraction. The design mixes functional dataflow computation graphs with object-oriented neural network layer building blocks that are easy to add to and extend.
Feature Summary
- Neural Network layer building blocks like
Input
,Linear
,Lookup
; - New TensorFlow ops:
gumbel_top
,logit
,sinkhorn
, etc; Graph
Utils: allow for validation and compilation of layer graphs;Model
Class: for easy inference, training, and evaluation;- Training Loop: easily customizable with a
Callback
system;
Installation
TensorX is written in pure python but depends on Tensorflow, which needs to be installed from the tensorflow
package.
The reason for this is that you might want to install Tensorflow builds optimized for your machine (see
these). Additionally, TensorX has optional
dependencies like matplotlib
or pygraphviz
for certain functionality.
Pip installation
Install using pip
with the following commands:
pip install tensorflow
pip install tensorx
For more details about the installation, check the documentation.
Test your installation
import tensorflow as tf
import tensorx as tx
Documentation
For details about TensorX API, tutorials, and other documentation, see https://tensorx.org. You can help by trying the project out, reporting bugs, suggest features, and by letting me know what you think. If you want to help, please read the contribution guide.
Author
- Davide Nunes: get in touch @davidelnunes or by e-mail