#!/usr/bin/python # shows the coordinates of the winner neurons for the som_cube example from snns import krui, util krui.loadNet('som_cube.net') krui.loadNewPatterns('som_cube.pat') patnum = krui.getNoOfPatterns() units = krui.getNoOfUnits() for pat in range(1,patnum+1) : krui.setPatternNo(pat) krui.showPattern(krui.OUTPUT_NOTHING) krui.updateNet(()) results = [] for unit in range(1,units+1) : if krui.getUnitTType(unit) == krui.HIDDEN : results.append((krui.getUnitActivation(unit),unit)) bestact, bestunit = min(results) rawpos = krui.getUnitPosition(bestunit)[:2] print "Pattern", pat, "Act", bestact, "Unit", bestunit, print "Grid Position", (rawpos[0]-4, rawpos[1])
print "Available functions:" for i in range(funcnum)[1:] : params = krui.getFuncInfo(i) print "Function:", params[0], print " Type: ", print util.func_types[params[1] & krui.FUNC_TYPE_MASK], print " i/o params: ", print krui.getFuncParamInfo(params[0],params[1]) headline("some fixed dimension example (encoder.*)") net = krui.loadNet("encoder.net") print "Net loaded: " + net print krui.getMemoryManagerInfo() print "Number of input units:", krui.getNoOfTTypeUnits(krui.INPUT) print "Number of output units:", krui.getNoOfOutputUnits() print "Total number of units:", krui.getNoOfUnits() print "Number of special input units:", krui.getNoOfSpecialInputUnits() print krui.getNetInfo() print krui.getSymbolTable() if krui.setFirstFTypeEntry() : print "First prototype name:", krui.getFTypeName() else : print "No prototypes found." krui.createFTypeEntry("myftype","Act_Identity","Out_Identity") if krui.setFirstFTypeEntry() : print "New prototype defined:", krui.getFTypeName() succ = krui.getFirstSuccUnit(1) if not succ[0] : print "Unit 1 has no successor unit" else :
print "Available functions:" for i in range(funcnum)[1:]: params = krui.getFuncInfo(i) print "Function:", params[0], print " Type: ", print util.func_types[params[1] & krui.FUNC_TYPE_MASK], print " i/o params: ", print krui.getFuncParamInfo(params[0], params[1]) headline("some fixed dimension example (encoder.*)") net = krui.loadNet("encoder.net") print "Net loaded: " + net print krui.getMemoryManagerInfo() print "Number of input units:", krui.getNoOfTTypeUnits(krui.INPUT) print "Number of output units:", krui.getNoOfOutputUnits() print "Total number of units:", krui.getNoOfUnits() print "Number of special input units:", krui.getNoOfSpecialInputUnits() print krui.getNetInfo() print krui.getSymbolTable() if krui.setFirstFTypeEntry(): print "First prototype name:", krui.getFTypeName() else: print "No prototypes found." krui.createFTypeEntry("myftype", "Act_Identity", "Out_Identity") if krui.setFirstFTypeEntry(): print "New prototype defined:", krui.getFTypeName() succ = krui.getFirstSuccUnit(1) if not succ[0]: print "Unit 1 has no successor unit" else: