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 https://github.com/jlerouge/crino.git cd crino sudo python setup.py install
- Run the given example :
cd example chmod +x example.py ./example.py
- Adapt it to your needs! Crino is natively compatible with Matlab-like data or any format handled by SciPy/NumPy.
- Check the project documentation.
FAQ
- What does “device gpu is not available” mean ?
Your GPU card may not be compatible with CUDA technology (check http://www.geforce.com/hardware/technology/cuda/supported-gpus). If so, there is nothing to do. Otherwise, your theano installation may have a problem (see http://deeplearning.net/software/theano/install.html#using-the-gpu).
- 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:
- J. Lerouge, R. Herault, C. Chatelain, F. Jardin and R. Modzelewski, “IODA: an Input/Output Deep Architecture for image labeling”, Pattern Recognition (2015), vol. 48, iss. 9, p. 2847-2858
Credits
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. :
- B. Labbé, R. Hérault and C. Chatelain . “Learning Deep Neural Networks for High Dimensional Output Problems”. In IEEE International Conference on Machine Learning and Applications (ICMLA’09), December 2009.
Contact
You can contact us with the following e-mail address : crino-contact@litislab.fr. Feel free to open a new issue in case you have found a bug in Crino.