summaryrefslogtreecommitdiff
path: root/README.md
blob: c198cc5986acbc9da6c35954a07c908803c286de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#The Nerv Toolkit User Manual#
NOTE: This readme is obsolete and will be rearranged, for further information, please check http://nerv-sjtu.github.io/nerv/

This user manual will information about how to use __Nerv__ and __Nerv__'s interface.

##How to make and start using##
First make sure you have __lua__ and __CUDA__ installed on your computer.  
__Nerv__ is currently developed via github.You can download and make __Nerv__ by doing the following:
```
cd ~
git clone https://github.com/Nerv-SJTU/nerv.git
cd nerv
git submodule init && git submodule update
make

#further, if you want the speech modules
git clone https://github.com/Nerv-SJTU/nerv-speech.git speech 
make speech
```
The `git submodule` command is for the __luajit__ repository inside __Nerv__.  
Now, you can try to run some example scripts.  
```
./install/bin/nerv examples/cumatrix_example.lua
```
To get an example of DNN(for ASR) training, run(this requires the speech modules)  
You need to be at or (copy files from) `/slfs1`(SJTU speechlab cluster) to get this running.  
```
./install/bin/nerv nerv/examples/asr_trainer.lua nerv/examples/swb_baseline.lua
```

##How to contribute##
Fork the original repository, then use the __pull&merge__ function in github to contribute.  
The pull&merge request can be found on your dashboard in github. See this [sync-help] to sync with the original repository.

##Nerv Packages##
* __luaT__  
Nerv uses [luaT]\(a [Torch] library\) to define lua class in C.
* __[The Nerv OOP](nerv/doc/nerv_class.md)__  
Enables object-oriented programming in Nerv.
* __[The Nerv utility functions](nerv/doc/nerv.md)__  
Inlcudes some utility functions from luaT to implement __Nerv.Class__.
* __[The Nerv Matrix Package](nerv/doc/nerv_matrix.md)__  
The matrix package is a basic package in __Nerv__ that is used to store and manipulate matrices.
* __[The Nerv IO Package](nerv/doc/nerv_io.md)__  
The IO package is used to read and write parameters to file.
* __[The Nerv Parameter Package](nerv/doc/nerv_param.md)__  
The parameter package is used to store, read model parameters from file.
* __[The Nerv Layer Package](nerv/doc/nerv_layer.md)__  
The layer package is used to define propagation and backpropagation of different type of layers.
* __[The Nerv NN Package](nerv/doc/nerv_nn.md)__  
The nn package is for organizing a neural network, it contains __nerv.LayerRepo__, __nerv.ParamRepo__, and __nerv.DAGLayer__.
[luaT]:https://github.com/torch/torch7/tree/master/lib/luaT
[Torch]:https://github.com/torch
[sync-help]:https://help.github.com/articles/syncing-a-fork/