UserPreferences

StartSmallProgram


You are not allowed to edit this page. Are you logged in? Click on UserPreferences in upper-righthand corner.

Clear message

  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 
 55 
 56 
 57 
 58 
 59 
 60 
 61 
 62 

from pyrobot.brain.conx import SRN
import pyrobot.system.debug

#class mySRN(SRN):
#    def preStep(self):
#        print "pre step..."

network = SRN()
network.setSequenceType("random-continuous")

network.addLayer("input", 26)
network.addContextLayer("context", 70, "hidden")
network.addLayer("hid1", 10)
network.addLayer("hidden", 70)
network.addLayer("hid2", 10)
network.addLayer("output", 26)

network.connect("input", "hid1")
network.connect("hid1", "hidden")
network.connect("context", "hidden")
network.connect("hidden", "hid2")
network.connect("hid2", "output")

def makePattern(n):
    retval = [0.0] * 26
    retval[-n] = 1.0
    return retval

network.predict("input", "output")

network.setPatterns( {".": makePattern(1),
                      "boy": makePattern(2),
                      "girl": makePattern(3),
                      "cat": makePattern(4),
                      "dog": makePattern(5),
                      "chase": makePattern(6),
                      "feed": makePattern(7),
                      "see": makePattern(8),
                      "hear": makePattern(9),
                      "walk": makePattern(10),
                      "live": makePattern(11),
                      "boys": makePattern(12),
                      "girls": makePattern(13),
                      "cats": makePattern(14),
                      "dogs": makePattern(15),
                      "chases": makePattern(16),
                      "feeds": makePattern(17),
                      "sees": makePattern(18),
                      "hears": makePattern(19),
                      "walks": makePattern(20),
                      "lives": makePattern(21),
                      "John": makePattern(22),
                      "Mary": makePattern(23),
                      "hit": makePattern(24),
                      "hits": makePattern(25),
                      "who": makePattern(26) } )

network.loadInputPatternsFromFile("elman100.dat", checkEven=0)
#network.setInteractive(1)
network.setReportRate(1)
network.train()