forked from lennybronner/compare_documents
/
neuralNet.py
42 lines (31 loc) · 1.16 KB
/
neuralNet.py
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
from pybrain.structure.networks.feedforward import FeedForwardNetwork
from pybrain.structure.modules.linearlayer import LinearLayer
from pybrain.structure.modules.sigmoidlayer import SigmoidLayer
from pybrain.structure.modules import SoftmaxLayer, TanhLayer, BiasUnit
from neurons import reluLayer
from pybrain.structure.connections.shared import MotherConnection, SharedFullConnection
from pybrain.structure import FullConnection
from pybrain.tests.helpers import gradientCheck
import neurons
def createNet():
net = FeedForwardNetwork()
modules = add_modules(net)
add_connections(net, modules)
# finish up
net.sortModules()
gradientCheck(net)
return net
def add_modules(net):
modules = {}
#define modules
modules['inp'] = LinearLayer(40)
modules['h1'] = reluLayer(20)
modules['outp'] = SoftmaxLayer(2)
# add modules
net.addInputModule(modules['inp'])
net.addOutputModule(modules['outp'])
net.addModule(modules['h1'])
return modules
def add_connections(net, modules):
net.addConnection(FullConnection(modules['inp'],modules['h1']))
net.addConnection(FullConnection(modules['h1'], modules['outp']))