Package crino
[hide private]
[frames] | no frames]

Source Code for Package crino

 1  # -*- coding: utf-8 -*- 
 2   
 3  #    Copyright (c) 2014-2015 Soufiane Belharbi, Clément Chatelain, 
 4  #    Romain Hérault, Julien Lerouge, Romain Modzelewski (LITIS - EA 4108). 
 5  #    All rights reserved. 
 6  # 
 7  #    This file is part of Crino. 
 8  # 
 9  #    Crino is free software: you can redistribute it and/or modify 
10  #    it under the terms of the GNU Lesser General Public License as published 
11  #    by the Free Software Foundation, either version 3 of the License, or 
12  #    (at your option) any later version. 
13  # 
14  #    Crino is distributed in the hope that it will be useful, 
15  #    but WITHOUT ANY WARRANTY; without even the implied warranty of 
16  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
17  #    GNU Lesser General Public License for more details. 
18  # 
19  #    You should have received a copy of the GNU Lesser General Public License 
20  #    along with Crino. If not, see <http://www.gnu.org/licenses/>. 
21   
22  """ 
23  **Crino: a neural-network library based on Theano** 
24   
25  Crino is an open-source `Python <http://www.python.org/>`_ library aimed at 
26  building and training artificial neural-networks. It has been developed on top 
27  of `Theano <http://deeplearning.net/software/theano/>`_, by researchers from the 
28  `LITIS <http://www.litislab.eu>`_ laboratory. It helps scientists and/or 
29  programmers to design neural-network architectures adapted to their needs, using 
30  a modular framework inspired by Torch. Our library also provides vanilla 
31  implementations, and learning algorithms, for these architectures : 
32   
33          - auto-encoders (AE) 
34          - multi-layer perceptrons (MLP) 
35          - deep neural networks (DNN) 
36          - input-output deep architectures (IODA) 
37   
38  IODA is an extension of DNN architectures, which is useful in cases where both 
39  input and output spaces are high-dimensional, and where there are strong 
40  interdependences between output labels. The input and output layers of a IODA 
41  are initialized with an unsupervised pre-training step, based on the stacked 
42  auto-encoder strategy, commonly used in DNN training algorithms. Then, the 
43  backpropagation algorithm performs the final supervised learning step. 
44   
45  Crino and IODA are research topics of the `Deep in Normandy 
46  <http://deep.normastic.fr/>`_ research program, which is a `NVIDIA GPU Research 
47  Center <https://developer.nvidia.com/academia/centers/normastic>`_. 
48   
49  :see: `GitHub repository <https://github.com/jlerouge/crino>`_, 
50        `Project homepage <http://julien.lerouge.me/crino/>`_ 
51  """ 
52   
53  # Init file for crino 
54  __version__ = "0.2.0" 
55  import crino.criterion 
56  import crino.module 
57  import crino.network 
58