def createNet(self): """ Set up the structure of the network """ net = Network() Network.unregisterRegion(ImageSensor.__name__) Network.registerRegion(ImageSensor) imageSensorParams = copy.deepcopy(DEFAULT_IMAGESENSOR_PARAMS) if self.loggingDir is not None: imageSensorParams["logDir"] = "sensorImages/" + self.loggingDir imageSensorParams["logOutputImages"] = 1 imageSensorParams["logOriginalImages"] = 1 imageSensorParams["logFilteredImages"] = 1 imageSensorParams["logLocationImages"] = 1 imageSensorParams["logLocationOnOriginalImage"] = 1 net.addRegion("sensor", "py.ImageSensor", yaml.dump(imageSensorParams)) net.addRegion("SP", "py.SPRegion", yaml.dump(DEFAULT_SP_PARAMS)) net.addRegion("classifier","py.KNNClassifierRegion", yaml.dump(DEFAULT_CLASSIFIER_PARAMS)) net.link("sensor", "SP", "UniformLink", "", srcOutput = "dataOut", destInput = "bottomUpIn") net.link("SP", "classifier", "UniformLink", "", srcOutput = "bottomUpOut", destInput = "bottomUpIn") net.link("sensor", "classifier", "UniformLink", "", srcOutput = "categoryOut", destInput = "categoryIn") self.net = net self.networkSensor = self.net.regions["sensor"] self.networkSP = self.net.regions["SP"] self.networkClassifier = self.net.regions["classifier"]
def runExperiment(): Network.unregisterRegion("ImageSensor") Network.registerRegion(ImageSensor) Network.registerRegion(PCANode) inputSize = 8 net = Network() sensor = net.addRegion( "sensor", "py.ImageSensor", "{ width: %d, height: %d }" % (inputSize, inputSize)) params = ("{bottomUpCount: %s, " " SVDSampleCount: 5, " " SVDDimCount: 2}" % inputSize) pca = net.addRegion("pca", "py.PCANode", params) linkParams = "{ mapping: in, rfSize: [%d, %d] }" % (inputSize, inputSize) net.link("sensor", "pca", "UniformLink", linkParams, "dataOut", "bottomUpIn") net.initialize() for i in range(10): pca.getSelf()._testInputs = numpy.random.random([inputSize]) net.run(1) print s.sendRequest("nodeOPrint pca_node")
def runExperiment(): Network.unregisterRegion("ImageSensor") Network.registerRegion(ImageSensor) Network.registerRegion(PCANode) inputSize = 8 net = Network() sensor = net.addRegion( "sensor", "py.ImageSensor" , "{ width: %d, height: %d }" % (inputSize, inputSize)) params = ("{bottomUpCount: %s, " " SVDSampleCount: 5, " " SVDDimCount: 2}" % inputSize) pca = net.addRegion("pca", "py.PCANode", params) linkParams = "{ mapping: in, rfSize: [%d, %d] }" % (inputSize, inputSize) net.link("sensor", "pca", "UniformLink", linkParams, "dataOut", "bottomUpIn") net.initialize() for i in range(10): pca.getSelf()._testInputs = numpy.random.random([inputSize]) net.run(1) print s.sendRequest("nodeOPrint pca_node")
def createNet(self): """ Set up the structure of the network """ net = Network() Network.unregisterRegion(SaccadeSensor.__name__) Network.registerRegion(SaccadeSensor) Network.registerRegion(TMRegion) imageSensorParams = copy.deepcopy(DEFAULT_IMAGESENSOR_PARAMS) if self.loggingDir is not None: imageSensorParams["logDir"] = "sensorImages/" + self.loggingDir imageSensorParams["logOutputImages"] = 1 imageSensorParams["logOriginalImages"] = 1 imageSensorParams["logFilteredImages"] = 1 imageSensorParams["logLocationImages"] = 1 imageSensorParams["logLocationOnOriginalImage"] = 1 net.addRegion("sensor", "py.SaccadeSensor", yaml.dump(imageSensorParams)) sensor = net.regions["sensor"].getSelf() DEFAULT_SP_PARAMS["columnCount"] = sensor.getOutputElementCount("dataOut") net.addRegion("SP", "py.SPRegion", yaml.dump(DEFAULT_SP_PARAMS)) sp = net.regions["SP"].getSelf() DEFAULT_TM_PARAMS["columnDimensions"] = (sp.getOutputElementCount("bottomUpOut"),) net.addRegion("TM", "py.TMRegion", yaml.dump(DEFAULT_TM_PARAMS)) net.addRegion("classifier","py.KNNClassifierRegion", yaml.dump(DEFAULT_CLASSIFIER_PARAMS)) net.link("sensor", "SP", "UniformLink", "", srcOutput="dataOut", destInput="bottomUpIn") net.link("SP", "TM", "UniformLink", "", srcOutput="bottomUpOut", destInput="activeColumns") net.link("sensor", "TM", "UniformLink", "", srcOutput="saccadeOut", destInput="activeExternalCells") net.link("TM", "classifier", "UniformLink", "", srcOutput="predictedActiveCells", destInput="bottomUpIn") net.link("sensor", "classifier", "UniformLink", "", srcOutput="categoryOut", destInput="categoryIn") self.net = net self.networkSensor = self.net.regions["sensor"] self.networkSP = self.net.regions["SP"] self.networkTM = self.net.regions["TM"] self.networkClassifier = self.net.regions["classifier"]
def loadFromFile(self, filename): """ Load a serialized network :param filename: Where the network should be loaded from """ print "Loading network from {file}...".format(file=filename) Network.unregisterRegion(SaccadeSensor.__name__) Network.registerRegion(SaccadeSensor) Network.registerRegion(TMRegion) self.net = Network(filename) self.networkSensor = self.net.regions["sensor"] self.networkSensor.setParameter("numSaccades", SACCADES_PER_IMAGE_TESTING) self.networkSP = self.net.regions["SP"] self.networkClassifier = self.net.regions["classifier"] self.numCorrect = 0
def loadFromFile(self, filename): """ Load a serialized network :param filename: Where the network should be loaded from """ print "Loading network from {file}...".format(file=filename) Network.unregisterRegion(SaccadeSensor.__name__) Network.registerRegion(SaccadeSensor) Network.registerRegion(ExtendedTMRegion) self.net = Network(filename) self.networkSensor = self.net.regions["sensor"] self.networkSensor.setParameter("numSaccades", SACCADES_PER_IMAGE_TESTING) self.networkSP = self.net.regions["SP"] self.networkClassifier = self.net.regions["classifier"] self.numCorrect = 0
def createNet(self): """ Set up the structure of the network """ net = Network() Network.unregisterRegion(SaccadeSensor.__name__) Network.registerRegion(SaccadeSensor) Network.unregisterRegion(ExtendedTMRegion.__name__) Network.registerRegion(ExtendedTMRegion) Network.unregisterRegion(ColumnPoolerRegion.__name__) Network.registerRegion(ColumnPoolerRegion) imageSensorParams = copy.deepcopy(DEFAULT_IMAGESENSOR_PARAMS) if self.loggingDir is not None: imageSensorParams["logDir"] = "sensorImages/" + self.loggingDir imageSensorParams["logOutputImages"] = 1 imageSensorParams["logOriginalImages"] = 1 imageSensorParams["logFilteredImages"] = 1 imageSensorParams["logLocationImages"] = 1 imageSensorParams["logLocationOnOriginalImage"] = 1 net.addRegion("sensor", "py.SaccadeSensor", yaml.dump(imageSensorParams)) sensor = net.regions["sensor"].getSelf() DEFAULT_SP_PARAMS["columnCount"] = sensor.getOutputElementCount( "dataOut") net.addRegion("SP", "py.SPRegion", yaml.dump(DEFAULT_SP_PARAMS)) sp = net.regions["SP"].getSelf() DEFAULT_TM_PARAMS["columnDimensions"] = ( sp.getOutputElementCount("bottomUpOut"), ) DEFAULT_TM_PARAMS["basalInputWidth"] = sensor.getOutputElementCount( "saccadeOut") net.addRegion("TM", "py.ExtendedTMRegion", yaml.dump(DEFAULT_TM_PARAMS)) net.addRegion("TP", "py.ColumnPoolerRegion", yaml.dump(DEFAULT_TP_PARAMS)) net.addRegion("classifier", "py.KNNClassifierRegion", yaml.dump(DEFAULT_CLASSIFIER_PARAMS)) net.link("sensor", "SP", "UniformLink", "", srcOutput="dataOut", destInput="bottomUpIn") net.link("SP", "TM", "UniformLink", "", srcOutput="bottomUpOut", destInput="activeColumns") net.link("sensor", "TM", "UniformLink", "", srcOutput="saccadeOut", destInput="basalInput") net.link("TM", "TP", "UniformLink", "", srcOutput="predictedActiveCells", destInput="feedforwardInput") net.link("TP", "TM", "UniformLink", "", srcOutput="feedForwardOutput", destInput="apicalInput") net.link("TP", "classifier", "UniformLink", "", srcOutput="feedForwardOutput", destInput="bottomUpIn") #net.link("TM", "classifier", "UniformLink", "", # srcOutput="predictedActiveCells", destInput="bottomUpIn") net.link("sensor", "classifier", "UniformLink", "", srcOutput="categoryOut", destInput="categoryIn") self.net = net self.networkSensor = self.net.regions["sensor"] self.networkSP = self.net.regions["SP"] self.networkTM = self.net.regions["TM"] self.networkTP = self.net.regions["TP"] self.networkClassifier = self.net.regions["classifier"]