Esempio n. 1
0
def buildNetwork(rnn_size):
   """
   Build an RNN with softmax output
   """

   net = RecurrentNeuralNetwork()

   input_layer = InputLayer(27)       # Input is 27 unit vector
   recurrent_layer = RecurrentLayer(rnn_size)
   output_layer = SoftmaxLayer(34)

   input_to_recurrent = FullConnection(input_layer.output, recurrent_layer.input)
   recurrent_to_output = FullConnection(recurrent_layer.output, output_layer.input)
   recurrent_bias = Bias(recurrent_layer.input)
   output_bias = Bias(output_layer.input) 

   target_layer = InputLayer(34)      # 34 classes!
   objective_layer = CrossEntropyObjective(output_layer.output, target_layer.output)

   net.addLayer(input_layer)
   net.addLayer(target_layer)
   net.addConnection(input_to_recurrent)
   net.addConnection(recurrent_bias)
   net.addRecurrentLayer(recurrent_layer)
   net.addConnection(recurrent_to_output)
   net.addConnection(output_bias)
   net.addLayer(output_layer)
   net.addObjective(objective_layer)

   net.setInputLayer(input_layer)
   net.setTargetLayer(target_layer)
   net.setOutputLayer(output_layer)
   net.setObjective(objective_layer)

   net.randomize()

   return net
Esempio n. 2
0
rbias.randomize()
obias.randomize()
rec.recurrentConnection.randomize()

net.addLayer(inp)
net.addLayer(tgt)
net.addConnection(i2r)
net.addConnection(rbias)
net.addRecurrentLayer(rec)
net.addConnection(r2o)
net.addConnection(obias)
net.addLayer(out)
net.addObjective(obj)

net.setInputLayer(inp)
net.setTargetLayer(tgt)
net.setOutputLayer(out)
net.setObjective(obj)

sgd = SGDTrainer(net, learning_rate=0.1, momentum=0.9)

seq = np.array([[[1], [1], [0]], [[1], [0], [0]], [[1], [1], [0]],
                [[0], [0], [0]], [[0], [1], [0]], [[0], [0], [0]],
                [[1], [1], [0]], [[1], [0], [0]], [[1], [1], [0]],
                [[0], [0], [0]], [[0], [1], [0]], [[0], [0], [0]],
                [[1], [1], [0]], [[1], [0], [0]], [[1], [1], [0]],
                [[0], [0], [0]], [[0], [1], [0]], [[0], [0], [0]],
                [[1], [1], [0]], [[1], [0], [0]], [[1], [1], [0]],
                [[0], [0], [0]], [[0], [1], [0]], [[0], [0], [0]]])
tar = np.array([[[1], [1], [0]], [[0], [1], [0]], [[1], [0], [0]],
                [[1], [0], [0]], [[1], [1], [0]], [[1], [1], [0]],
Esempio n. 3
0
rbias.randomize()
obias.randomize()
rec.recurrentConnection.randomize()

net.addLayer(inp)
net.addLayer(tgt)
net.addConnection(i2r)
net.addConnection(rbias)
net.addRecurrentLayer(rec)
net.addConnection(r2o)
net.addConnection(obias)
net.addLayer(out)
net.addObjective(obj)

net.setInputLayer(inp)
net.setTargetLayer(tgt)
net.setOutputLayer(out)
net.setObjective(obj)

sgd = SGDTrainer(net, learning_rate=0.1, momentum=0.9)


seq = np.array(
    [
        [[1], [1], [0]],
        [[1], [0], [0]],
        [[1], [1], [0]],
        [[0], [0], [0]],
        [[0], [1], [0]],
        [[0], [0], [0]],
        [[1], [1], [0]],