Crino: a neural-network library based on Theano

Crino is an open-source Python library aimed at building and training artificial neural-networks. It has been developed on top of Theano, by researchers from the LITIS laboratory.

Crino lets you “hand-craft” neural-network architectures, using a modular framework inspired by Torch. Our library also provides standard implementations as long as learning algorithms for :

  • auto-encoders (AE)

  • multi-layer perceptrons (MLP)

  • deep neural networks (DNN)

  • input-output deep architectures (IODA)

IODA is a novel DNN architecture, which is useful in cases where both input and output spaces are high-dimensional, and where there are strong interdependences between output labels. The input and output layers of a IODA are initialized with an unsupervised pre-training step, based on the stacked auto-encoder strategy, commonly used in DNN training algorithms. Then, the backpropagation algorithm performs the final supervised learning step.

Getting started

  • Install Crino :
cd to/some/path
git clone
cd crino
sudo python install
  • Run the given example :
cd example
chmod +x
  • Adapt it to your needs! Crino is natively compatible with Matlab-like data or any format handled by SciPy/NumPy.
  • Check the project documentation.


  • What does “device gpu is not available” mean ?

Your GPU card may not be compatible with CUDA technology (check If so, there is nothing to do. Otherwise, your theano installation may have a problem (see

  • Where does the name “Crino” come from ?

We developed this library as an extension of Theano. In Greek mythology, Crino is the daughter of Theano.

About our project

Citing Crino/IODA

If you use Crino and/or our IODA framework for academic research, you are highly encouraged (though not required) to cite the following paper:


We would like to thank the authors of Theano :

  • J. Bergstra, O. Breuleux, F. Bastien, P. Lamblin, R. Pascanu, G. Desjardins, J. Turian, D. Warde-Farley and Y. Bengio. “Theano: A CPU and GPU Math Expression Compiler”. Proceedings of the Python for Scientific Computing Conference (SciPy) 2010. June 30 – July 3, Austin, TX

IODA is partly based on the original work of B. Labbé et al. :


You can contact us with the following e-mail address : Feel free to open a new issue in case you have found a bug in Crino.