def __init__(self, columnCount, inputWidth, historyLength, minHistory, poolerType, **kwargs): if columnCount <= 0 or inputWidth <=0: raise TypeError("Parameters columnCount and inputWidth must be > 0") # Pull out the pooler arguments automatically # These calls whittle down kwargs and create instance variables of TemporalPoolerRegion self._poolerType = poolerType self._poolerClass = _getPoolerClass(poolerType) pArgTuples = _buildArgs(self._poolerClass, self, kwargs) # include parent spatial pooler parameters if poolerType == "union" or poolerType == "unionMonitored": pArgTuplesSP = _buildArgs(_getParentSpatialPoolerClass(poolerType), self, kwargs) # Make a list of automatic pooler arg names for later use self._poolerArgNames = [t[0] for t in pArgTuples] + [t[0] for t in pArgTuplesSP] else: self._poolerArgNames = [t[0] for t in pArgTuples] PyRegion.__init__(self, **kwargs) # Defaults for all other parameters self.learningMode = True self.inferenceMode = True self._inputWidth = inputWidth self._columnCount = columnCount self._historyLength = historyLength self._minHistory = minHistory # pooler instance self._pooler = None
def __init__(self, columnCount, # Number of columns in the SP, a required parameter inputWidth, # Size of inputs to the SP, a required parameter spatialImp=getDefaultSPImp(), #'py', 'cpp' **kwargs): if columnCount <= 0 or inputWidth <=0: raise TypeError("Parameters columnCount and inputWidth must be > 0") # Pull out the spatial arguments automatically # These calls whittle down kwargs and create instance variables of SPRegion self.SpatialClass = getSPClass(spatialImp) sArgTuples = _buildArgs(self.SpatialClass.__init__, self, kwargs) # Make a list of automatic spatial arg names for later use self._spatialArgNames = [t[0] for t in sArgTuples] # Learning and SP parameters. # By default we start out in stage learn with inference disabled self.learningMode = True self.inferenceMode = False self.anomalyMode = False self.topDownMode = False self.columnCount = columnCount self.inputWidth = inputWidth PyRegion.__init__(self, **kwargs) # Initialize all non-persistent base members, as well as give # derived class an opportunity to do the same. self._loaded = False self._initializeEphemeralMembers() # Debugging support, used in _conditionalBreak self.breakPdb = False self.breakKomodo = False # Defaults for all other parameters self.logPathInput = '' self.logPathOutput = '' self.logPathOutputDense = '' self._fpLogSPInput = None self._fpLogSP = None self._fpLogSPDense = None # # Variables set up in initInNetwork() # # Spatial instance self._sfdr = None # Spatial pooler's bottom-up output value: hang on to this output for # top-down inference and for debugging self._spatialPoolerOutput = None # Spatial pooler's bottom-up input: hang on to this for supporting the # spInputNonZeros parameter self._spatialPoolerInput = None
def __init__( self, # Input sizes columnCount, basalInputWidth, apicalInputWidth=0, # TM params cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, reducedBasalThreshold=13, # ApicalTiebreak and ApicalDependent only sampleSize=20, permanenceIncrement=0.10, permanenceDecrement=0.10, basalPredictedSegmentDecrement=0.0, apicalPredictedSegmentDecrement=0.0, learnOnOneCell=False, # ApicalTiebreakCPP only maxSegmentsPerCell=255, maxSynapsesPerSegment=255, # ApicalTiebreakCPP only seed=42, # Region params implementation="ApicalTiebreak", learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.reducedBasalThreshold = reducedBasalThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.sampleSize = sampleSize self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.basalPredictedSegmentDecrement = basalPredictedSegmentDecrement self.apicalPredictedSegmentDecrement = apicalPredictedSegmentDecrement self.maxSynapsesPerSegment = maxSynapsesPerSegment self.maxSegmentsPerCell = maxSegmentsPerCell self.learnOnOneCell = learnOnOneCell self.seed = seed # Region params self.implementation = implementation self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, columnCount, inputWidth, spatialImp=getDefaultSPImp(), **kwargs): if columnCount <= 0 or inputWidth <=0: raise TypeError("Parameters columnCount and inputWidth must be > 0") # Pull out the spatial arguments automatically # These calls whittle down kwargs and create instance variables of SPRegion self.spatialImp = spatialImp self.SpatialClass = getSPClass(spatialImp) sArgTuples = _buildArgs(self.SpatialClass.__init__, self, kwargs) # Make a list of automatic spatial arg names for later use self._spatialArgNames = [t[0] for t in sArgTuples] # Learning and SP parameters. # By default we start out in stage learn with inference disabled self.learningMode = True self.inferenceMode = False self.anomalyMode = False self.topDownMode = False self.columnCount = columnCount self.inputWidth = inputWidth PyRegion.__init__(self, **kwargs) # Initialize all non-persistent base members, as well as give # derived class an opportunity to do the same. self._loaded = False self._initializeEphemeralMembers() # Debugging support, used in _conditionalBreak self.breakPdb = False self.breakKomodo = False # Defaults for all other parameters self.logPathInput = '' self.logPathOutput = '' self.logPathOutputDense = '' self._fpLogSPInput = None self._fpLogSP = None self._fpLogSPDense = None # # Variables set up in initInNetwork() # # Spatial instance self._sfdr = None # Spatial pooler's bottom-up output value: hang on to this output for # top-down inference and for debugging self._spatialPoolerOutput = None # Spatial pooler's bottom-up input: hang on to this for supporting the # spInputNonZeros parameter self._spatialPoolerInput = None
def __init__(self, moduleCount, cellsPerAxis, scale, orientation, anchorInputSize, activeFiringRate, bumpSigma, activationThreshold=10, initialPermanence=0.21, connectedPermanence=0.50, learningThreshold=10, sampleSize=20, permanenceIncrement=0.1, permanenceDecrement=0.0, maxSynapsesPerSegment=-1, bumpOverlapMethod="probabilistic", learningMode=False, seed=42, dualPhase=True, dimensions=2, **kwargs): if moduleCount <= 0 or cellsPerAxis <= 0: raise TypeError("Parameters moduleCount and cellsPerAxis must be > 0") if moduleCount != len(scale) or moduleCount != len(orientation): raise TypeError("scale and orientation arrays len must match moduleCount") if dimensions < 2: raise TypeError("dimensions must be >= 2") self.moduleCount = moduleCount self.cellsPerAxis = cellsPerAxis self.cellCount = cellsPerAxis * cellsPerAxis self.scale = list(scale) self.orientation = list(orientation) self.anchorInputSize = anchorInputSize self.activeFiringRate = activeFiringRate self.bumpSigma = bumpSigma self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.learningThreshold = learningThreshold self.sampleSize = sampleSize self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.maxSynapsesPerSegment = maxSynapsesPerSegment self.bumpOverlapMethod = bumpOverlapMethod self.learningMode = learningMode self.dualPhase = dualPhase self.dimensions = dimensions self.seed = seed # This flag controls whether the region is processing sensation or movement # on dual phase configuration self._sensing = False self._modules = None self._projection = None PyRegion.__init__(self, **kwargs)
def __init__(self, columnCount=2048, cellsPerColumn=16, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, defaultOutputType="active", **kwargs): # Defaults for all other parameters self.columnCount = columnCount self.cellsPerColumn = cellsPerColumn self.inputWidth = self.columnCount * self.cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learningMode = True self.inferenceMode = True self.defaultOutputType = defaultOutputType PyRegion.__init__(self, **kwargs)
def __init__(self, columnCount, # Number of columns in the SP, a required parameter inputWidth, # Size of inputs to the SP, a required parameter cellsPerColumn, # Number of cells per column, required # Constructor arguments are picked up automatically. There is no # need to add them anywhere in TMRegion, unless you need to do # something special with them. See docstring above. orColumnOutputs=False, cellsSavePath='', temporalImp=gDefaultTemporalImp, anomalyMode=False, computePredictedActiveCellIndices=False, **kwargs): # Which Temporal implementation? TemporalClass = _getTPClass(temporalImp) # Make a list of automatic temporal arg names for later use # Pull out the temporal arguments automatically # These calls whittle down kwargs and create instance variables of TMRegion tArgTuples = _buildArgs(TemporalClass.__init__, self, kwargs) self._temporalArgNames = [t[0] for t in tArgTuples] self.learningMode = True # Start out with learning enabled self.inferenceMode = False self.anomalyMode = anomalyMode self.computePredictedActiveCellIndices = computePredictedActiveCellIndices self.topDownMode = False self.columnCount = columnCount self.inputWidth = inputWidth self.outputWidth = columnCount * cellsPerColumn self.cellsPerColumn = cellsPerColumn PyRegion.__init__(self, **kwargs) # Initialize all non-persistent base members, as well as give # derived class an opportunity to do the same. self._loaded = False self._initialize() # Debugging support, used in _conditionalBreak self.breakPdb = False self.breakKomodo = False # TMRegion only, or special handling self.orColumnOutputs = orColumnOutputs self.temporalImp = temporalImp # Various file names self.storeDenseOutput = False self.logPathOutput = '' self.cellsSavePath = cellsSavePath self._fpLogTPOutput = None # Variables set up in initInNetwork() self._tfdr = None # FDRTemporal instance
def __init__(self, columnCount=2048, cellsPerColumn=16, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, defaultOutputType = "active", **kwargs): # Defaults for all other parameters self.columnCount = columnCount self.cellsPerColumn = cellsPerColumn self.inputWidth = self.columnCount*self.cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learningMode = True self.inferenceMode = True self.defaultOutputType = defaultOutputType PyRegion.__init__(self, **kwargs)
def __init__(self, # Modified ETM params columnCount=2048, basalInputWidth=0, apicalInputWidth=0, # ETM params cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, formInternalBasalConnections=True, learnOnOneCell=False, maxSegmentsPerCell=255, maxSynapsesPerSegment=255, seed=42, checkInputs=True, # Region params implementation="etm_cpp", learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.formInternalBasalConnections = formInternalBasalConnections self.learnOnOneCell = learnOnOneCell self.maxSegmentsPerCell = maxSegmentsPerCell self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed self.checkInputs = checkInputs # Region params self.implementation = implementation self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, # Input sizes columnCount, basalInputWidth, apicalInputWidth=0, # TM params cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, reducedBasalThreshold=13, # ApicalTiebreak and ApicalDependent only sampleSize=20, permanenceIncrement=0.10, permanenceDecrement=0.10, basalPredictedSegmentDecrement=0.0, apicalPredictedSegmentDecrement=0.0, learnOnOneCell=False, # ApicalTiebreakCPP only maxSegmentsPerCell=255, maxSynapsesPerSegment=255, # ApicalTiebreakCPP only seed=42, # Region params implementation="ApicalTiebreak", learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.reducedBasalThreshold = reducedBasalThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.sampleSize = sampleSize self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.basalPredictedSegmentDecrement = basalPredictedSegmentDecrement self.apicalPredictedSegmentDecrement = apicalPredictedSegmentDecrement self.maxSynapsesPerSegment = maxSynapsesPerSegment self.maxSegmentsPerCell = maxSegmentsPerCell self.learnOnOneCell = learnOnOneCell self.seed = seed # Region params self.implementation = implementation self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, moduleCount, cellsPerAxis, scale, orientation, anchorInputSize, activeFiringRate, bumpSigma, activationThreshold=10, initialPermanence=0.21, connectedPermanence=0.50, learningThreshold=10, sampleSize=20, permanenceIncrement=0.1, permanenceDecrement=0.0, maxSynapsesPerSegment=-1, bumpOverlapMethod="probabilistic", learningMode=False, seed=42, dualPhase=True, **kwargs): if moduleCount <= 0 or cellsPerAxis <= 0: raise TypeError( "Parameters moduleCount and cellsPerAxis must be > 0") if moduleCount != len(scale) or moduleCount != len(orientation): raise TypeError( "scale and orientation arrays len must match moduleCount") self.moduleCount = moduleCount self.cellsPerAxis = cellsPerAxis self.cellCount = cellsPerAxis * cellsPerAxis self.scale = list(scale) self.orientation = list(orientation) self.anchorInputSize = anchorInputSize self.activeFiringRate = activeFiringRate self.bumpSigma = bumpSigma self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.learningThreshold = learningThreshold self.sampleSize = sampleSize self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.maxSynapsesPerSegment = maxSynapsesPerSegment self.bumpOverlapMethod = bumpOverlapMethod self.learningMode = learningMode self.dualPhase = dualPhase self.seed = seed # This flag controls whether the region is processing sensation or movement # on dual phase configuration self._sensing = False self._modules = None PyRegion.__init__(self, **kwargs)
def __init__(self, cellCount=4096, inputWidth=16384, numOtherCorticalColumns=0, sdrSize=40, # Proximal synPermProximalInc=0.1, synPermProximalDec=0.001, initialProximalPermanence=0.6, sampleSizeProximal=20, minThresholdProximal=1, connectedPermanenceProximal=0.50, # Distal synPermDistalInc=0.10, synPermDistalDec=0.10, initialDistalPermanence=0.21, sampleSizeDistal=20, activationThresholdDistal=13, connectedPermanenceDistal=0.50, distalSegmentInhibitionFactor=1.5, seed=42, defaultOutputType = "active", **kwargs): # Used to derive Column Pooler params self.numOtherCorticalColumns = numOtherCorticalColumns # Column Pooler params self.inputWidth = inputWidth self.cellCount = cellCount self.sdrSize = sdrSize self.synPermProximalInc = synPermProximalInc self.synPermProximalDec = synPermProximalDec self.initialProximalPermanence = initialProximalPermanence self.sampleSizeProximal = sampleSizeProximal self.minThresholdProximal = minThresholdProximal self.connectedPermanenceProximal = connectedPermanenceProximal self.synPermDistalInc = synPermDistalInc self.synPermDistalDec = synPermDistalDec self.initialDistalPermanence = initialDistalPermanence self.sampleSizeDistal = sampleSizeDistal self.activationThresholdDistal = activationThresholdDistal self.connectedPermanenceDistal = connectedPermanenceDistal self.distalSegmentInhibitionFactor = distalSegmentInhibitionFactor self.seed = seed # Region params self.learningMode = True self.defaultOutputType = defaultOutputType self._pooler = None PyRegion.__init__(self, **kwargs)
def __init__( self, cellCount=4096, inputWidth=16384, numOtherCorticalColumns=0, sdrSize=40, # Proximal synPermProximalInc=0.1, synPermProximalDec=0.001, initialProximalPermanence=0.6, sampleSizeProximal=20, minThresholdProximal=1, connectedPermanenceProximal=0.50, # Distal synPermDistalInc=0.10, synPermDistalDec=0.10, initialDistalPermanence=0.21, sampleSizeDistal=20, activationThresholdDistal=13, connectedPermanenceDistal=0.50, distalSegmentInhibitionFactor=1.5, seed=42, defaultOutputType="active", **kwargs): # Used to derive Column Pooler params self.numOtherCorticalColumns = numOtherCorticalColumns # Column Pooler params self.inputWidth = inputWidth self.cellCount = cellCount self.sdrSize = sdrSize self.synPermProximalInc = synPermProximalInc self.synPermProximalDec = synPermProximalDec self.initialProximalPermanence = initialProximalPermanence self.sampleSizeProximal = sampleSizeProximal self.minThresholdProximal = minThresholdProximal self.connectedPermanenceProximal = connectedPermanenceProximal self.synPermDistalInc = synPermDistalInc self.synPermDistalDec = synPermDistalDec self.initialDistalPermanence = initialDistalPermanence self.sampleSizeDistal = sampleSizeDistal self.activationThresholdDistal = activationThresholdDistal self.connectedPermanenceDistal = connectedPermanenceDistal self.distalSegmentInhibitionFactor = distalSegmentInhibitionFactor self.seed = seed # Region params self.learningMode = True self.defaultOutputType = defaultOutputType self._pooler = None PyRegion.__init__(self, **kwargs)
def __init__(self, columnCount=2048, inputWidth=16384, lateralInputWidth=0, activationThresholdDistal=13, initialPermanence=0.21, connectedPermanence=0.50, minThresholdProximal=1, minThresholdDistal=10, maxNewProximalSynapseCount=20, maxNewDistalSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, synPermProximalInc=0.1, synPermProximalDec=0.001, initialProximalPermanence = 0.6, seed=42, numActiveColumnsPerInhArea=40, defaultOutputType = "active", **kwargs): # Modified Column Pooler params self.columnCount = columnCount # Column Pooler params self.inputWidth = inputWidth self.lateralInputWidth = lateralInputWidth self.activationThresholdDistal = activationThresholdDistal self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThresholdProximal = minThresholdProximal self.minThresholdDistal = minThresholdDistal self.maxNewProximalSynapseCount = maxNewProximalSynapseCount self.maxNewDistalSynapseCount = maxNewDistalSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.synPermProximalInc = synPermProximalInc self.synPermProximalDec = synPermProximalDec self.initialProximalPermanence = initialProximalPermanence self.seed = seed self.numActiveColumnsPerInhArea = numActiveColumnsPerInhArea self.maxSynapsesPerSegment = inputWidth # Region params self.learningMode = True self.inferenceMode = True self.defaultOutputType = defaultOutputType self._pooler = None PyRegion.__init__(self, **kwargs)
def __init__(self, columnCount=2048, inputWidth=16384, lateralInputWidth=0, activationThresholdDistal=13, initialPermanence=0.21, connectedPermanence=0.50, minThresholdProximal=1, minThresholdDistal=10, maxNewProximalSynapseCount=20, maxNewDistalSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, synPermProximalInc=0.1, synPermProximalDec=0.001, initialProximalPermanence=0.6, seed=42, numActiveColumnsPerInhArea=40, defaultOutputType="active", **kwargs): # Modified Column Pooler params self.columnCount = columnCount # Column Pooler params self.inputWidth = inputWidth self.lateralInputWidth = lateralInputWidth self.activationThresholdDistal = activationThresholdDistal self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThresholdProximal = minThresholdProximal self.minThresholdDistal = minThresholdDistal self.maxNewProximalSynapseCount = maxNewProximalSynapseCount self.maxNewDistalSynapseCount = maxNewDistalSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.synPermProximalInc = synPermProximalInc self.synPermProximalDec = synPermProximalDec self.initialProximalPermanence = initialProximalPermanence self.seed = seed self.numActiveColumnsPerInhArea = numActiveColumnsPerInhArea self.maxSynapsesPerSegment = inputWidth # Region params self.learningMode = True self.inferenceMode = True self.defaultOutputType = defaultOutputType self._pooler = None PyRegion.__init__(self, **kwargs)
def __init__(self, # Input sizes columnCount, basalInputWidth, apicalInputWidth=0, # TM params cellsPerColumn=32, minThreshold=0.5, sampleSize=20, maxSegmentsPerCell=255, maxSynapsesPerSegment=255, seed=42, noise=0.01, # lambda learningRate=0.1, # alpha initMovingAverages=0.0, # alpha useApicalTiebreak=False, # Region params implementation="BayesianApicalTiebreak", learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.minThreshold = minThreshold self.sampleSize = sampleSize self.maxSegmentsPerCell = maxSegmentsPerCell self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed self.noise = noise self.learningRate = learningRate self.initMovingAverages = initMovingAverages self.useApicalTiebreak = useApicalTiebreak # Region params self.implementation = implementation self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, columnCount=2048, cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, learnOnOneCell=1, formInternalConnections=1, formInternalBasalConnections=1, defaultOutputType = "active", monitor=False, implementation="cpp", **kwargs): # Defaults for all other parameters self.columnCount = columnCount self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learnOnOneCell = bool(learnOnOneCell) self.learningMode = True self.inferenceMode = True self.formInternalConnections = bool(formInternalConnections) self.formInternalBasalConnections = bool(formInternalBasalConnections) self.defaultOutputType = defaultOutputType self.monitor = monitor self.implementation = implementation PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, verbosity=0, colorOption=False, colorDiscreteIntensity=5, **kwargs): self._colorOption = colorOption self._colorDiscreteIntensity = colorDiscreteIntensity self.dataSource = None self.verbosity = verbosity self._inputWidth = 768 * 1024 * 3 # fixed universe input self._dataWidth = 160 * 160 * 3 * 5 if colorOption else 160 * 160 # output size dependent on color option # lastRecord is the last record returned. Used for debugging only self.lastRecord = None PyRegion.__init__(self, **kwargs)
def __init__(self, columnDimensions=(2048,), cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, learnOnOneCell=False, tmImp=getDefaultTMImp(), **kwargs): # Pull out the tm arguments automatically # These calls whittle down kwargs and create instance variables of TMRegion self._tmClass = getTMClass(tmImp) tmArgTuples = _buildArgs(self._tmClass, self, kwargs) # Make a list of automatic tm arg names for later use self._tmArgNames = [t[0] for t in tmArgTuples] # Defaults for all other parameters self.columnDimensions = copy.deepcopy(columnDimensions) self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learnOnOneCell = learnOnOneCell self.learningMode = True PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, columnDimensions=(2048, ), cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, learnOnOneCell=False, tmImp=getDefaultTMImp(), **kwargs): # Pull out the tm arguments automatically # These calls whittle down kwargs and create instance variables of TMRegion self._tmClass = getTMClass(tmImp) tmArgTuples = _buildArgs(self._tmClass, self, kwargs) # Make a list of automatic tm arg names for later use self._tmArgNames = [t[0] for t in tmArgTuples] # Defaults for all other parameters self.columnDimensions = copy.deepcopy(columnDimensions) self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learnOnOneCell = learnOnOneCell self.learningMode = True PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, columnCount=2048, inputWidth=16384, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, synPermProximalInc=0.1, synPermProximalDec=0.001, initialProximalPermanence = 0.6, seed=42, numActiveColumnsPerInhArea=40, defaultOutputType = "active", **kwargs): # Defaults for all other parameters self.columnCount = columnCount self.inputWidth = inputWidth self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.synPermProximalInc = synPermProximalInc self.synPermProximalDec = synPermProximalDec self.initialProximalPermanence = initialProximalPermanence self.seed = seed self.learningMode = True self.inferenceMode = True self.defaultOutputType = defaultOutputType self.numActiveColumnsPerInhArea = numActiveColumnsPerInhArea self._pooler = None PyRegion.__init__(self, **kwargs)
def __init__(self, columnCount=2048, cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, learnOnOneCell=1, temporalImp="tm", formInternalConnections=1, defaultOutputType="active", **kwargs): # Defaults for all other parameters self.columnCount = columnCount self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learnOnOneCell = bool(learnOnOneCell) self.learningMode = True self.inferenceMode = True self.temporalImp = temporalImp self.formInternalConnections = bool(formInternalConnections) self.defaultOutputType = defaultOutputType PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, columnCount=2048, cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, seed=42, learnOnOneCell=1, temporalImp="tm", formInternalConnections = 1, **kwargs): # Defaults for all other parameters self.columnCount = columnCount self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.seed = seed self.learnOnOneCell = bool(learnOnOneCell) self.learningMode = True self.inferenceMode = True self.temporalImp = temporalImp self.formInternalConnections = bool(formInternalConnections) self.previouslyPredictedCells = set() PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__( self, # Modified ETM params columnCount=2048, basalInputWidth=0, apicalInputWidth=0, TDTraceDecay=0.0, TDDiscount=0.0, TDLearningRate=0.1, globalValueDecay=0.0, # ETM params cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, formInternalBasalConnections=True, learnOnOneCell=False, maxSegmentsPerCell=255, maxSynapsesPerSegment=255, seed=42, checkInputs=True, # Region params implementation="etm", learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.formInternalBasalConnections = formInternalBasalConnections self.learnOnOneCell = learnOnOneCell self.maxSegmentsPerCell = maxSegmentsPerCell self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed self.checkInputs = checkInputs # Region params self.implementation = implementation self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None # Reinforcement Learning variables (Eligability traces and values for each neuron) self.TDDiscount = TDDiscount self.TDLearningRate = TDLearningRate self.TDTraceDecay = TDTraceDecay self.globalValueDecay = globalValueDecay self.traces = np.zeros(columnCount * cellsPerColumn) self.values = np.zeros(columnCount * cellsPerColumn) self.stateValue = 0 self.prevActiveCells = [] # Save prev. distal input for calculation with L5(t-1) distal input self.prevActiveCellsExternalBasal = [] # For Debug save errors self.TDError = 0
def __init__( self, # Modified TM params columnCount=2048, basalInputWidth=0, apicalInputWidth=0, # ETM params cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, formInternalBasalConnections=True, learnOnOneCell=False, maxSegmentsPerCell=255, maxSynapsesPerSegment=255, seed=42, checkInputs=True, # Region params defaultOutputType="active", implementation="etm_cpp", learningMode=True, inferenceMode=True, **kwargs ): # Modified TM params self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.formInternalBasalConnections = formInternalBasalConnections self.learnOnOneCell = learnOnOneCell self.maxSegmentsPerCell = maxSegmentsPerCell self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed self.checkInputs = checkInputs # Region params self.defaultOutputType = defaultOutputType self.implementation = implementation self.learningMode = learningMode self.inferenceMode = inferenceMode PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__(self, maxActive, outputWidth, **kwargs): PyRegion.__init__(self, **kwargs) self.maxActive = maxActive self.outputWidth = outputWidth
def __init__( self, # Modified ETM params columnCount=2048, basalInputWidth=0, apicalInputWidth=0, # ETM params cellsPerColumn=32, initialPermanence=0.21, connectedPermanence=0.50, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, maxSynapsesPerSegment=255, seed=42, sampleSize=20, # apical, basal weighting activationThresholdBasal=13, activationThresholdApical=2, minThresholdBasal=10, minThresholdApical=1, basalPredictedSegmentDecrement=0.001, apicalPredictedSegmentDecrement=0.001, # Region params implementation="etm", learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed self.sampleSize = sampleSize # TM weight distal and apical differently self.minThresholdBasal = minThresholdBasal self.minThresholdApical = minThresholdApical self.activationThresholdBasal = activationThresholdBasal self.activationThresholdApical = activationThresholdApical self.basalPredictedSegmentDecrement = basalPredictedSegmentDecrement self.apicalPredictedSegmentDecrement = apicalPredictedSegmentDecrement # Region params self.implementation = implementation self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None # Custom use internal activation t-1 as basal input self.prevActivation = np.array([])
def __init__(self, maxActive, outputWidth, **kwargs): PyRegion.__init__(self, **kwargs) self.maxActive = maxActive self.outputWidth = outputWidth
def __init__(self, cellCount=4096, inputWidth=16384, numOtherCorticalColumns=0, sdrSize=40, maxSdrSize = None, minSdrSize = None, # Proximal sampleSizeProximal=20, # Distal sampleSizeDistal=20, inertiaFactor=1., # Bayesian noise=0.01, # lambda learningRate=0.1, # alpha activationThreshold=0.5, # probability such that a cell becomes active forgetting=0.1, initMovingAverages=0.0, useSupport=False, avoidWeightExplosion=True, resetProximalCounter=False, useProximalProbabilities=True, implementation="Bayesian", seed=42, defaultOutputType = "active", **kwargs): # Used to derive Column Pooler params self.numOtherCorticalColumns = numOtherCorticalColumns # Column Pooler params self.inputWidth = inputWidth self.cellCount = cellCount self.sdrSize = sdrSize self.maxSdrSize = maxSdrSize self.minSdrSize = minSdrSize self.sampleSizeProximal = sampleSizeProximal self.sampleSizeDistal = sampleSizeDistal self.inertiaFactor = inertiaFactor self.seed = seed self.activationThreshold = activationThreshold self.learningRate = learningRate self.noise = noise self.implementation = implementation self.forgetting = forgetting self.initMovingAverages = initMovingAverages self.useSupport = useSupport self.avoidWeightExplosion = avoidWeightExplosion self.resetProximalCounter = resetProximalCounter self.useProximalProbabilities = useProximalProbabilities # Region params self.learningMode = True self.defaultOutputType = defaultOutputType self._pooler = None PyRegion.__init__(self, **kwargs)
def __init__( self, # Modified TM params columnCount=2048, basalInputWidth=0, apicalInputWidth=0, # ETM params cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, permanenceIncrement=0.10, permanenceDecrement=0.10, predictedSegmentDecrement=0.0, formInternalBasalConnections=True, learnOnOneCell=False, maxSegmentsPerCell=255, maxSynapsesPerSegment=255, seed=42, checkInputs=True, # Region params defaultOutputType="active", implementation="etm", learningMode=True, inferenceMode=True, **kwargs): # Modified TM params self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.cellsPerColumn = cellsPerColumn self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxNewSynapseCount = maxNewSynapseCount self.permanenceIncrement = permanenceIncrement self.permanenceDecrement = permanenceDecrement self.predictedSegmentDecrement = predictedSegmentDecrement self.formInternalBasalConnections = formInternalBasalConnections self.learnOnOneCell = learnOnOneCell self.maxSegmentsPerCell = maxSegmentsPerCell self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed self.checkInputs = checkInputs # Region params self.defaultOutputType = defaultOutputType self.implementation = implementation self.learningMode = learningMode self.inferenceMode = inferenceMode PyRegion.__init__(self, **kwargs) # TM instance self._tm = None
def __init__( self, # Modified TM params basalInputWidth=0, apicalInputWidth=0, apicalGlobalDecay=0.000001, TDLearningRate=0.5, winnerSize=4, motorCount=32, synPermActiveIncMotor=0.04, synPermInactiveDecMotor=0.008, # TM params columnCount=2048, cellsPerColumn=32, activationThreshold=13, initialPermanence=0.21, connectedPermanence=0.50, minThreshold=10, maxNewSynapseCount=20, punishPredDec=0.0, maxSynapsesPerSegment=255, seed=42, # Region params learn=True, **kwargs): # Input sizes (the network API doesn't provide these during initialize) self.columnCount = columnCount self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth # TM params self.columnCount = columnCount self.cellsPerColumn = cellsPerColumn self.basalInputWidth = basalInputWidth self.apicalInputWidth = apicalInputWidth self.activationThreshold = activationThreshold self.initialPermanence = initialPermanence self.connectedPermanence = connectedPermanence self.minThreshold = minThreshold self.maxSynapsesPerSegment = maxSynapsesPerSegment self.seed = seed # Motor specific self.TDLearningRate = TDLearningRate self.apicalGlobalDecay = apicalGlobalDecay self.winnerSize = winnerSize self.punishPredDec = punishPredDec self.motorCount = motorCount self.synPermActiveIncMotor = synPermActiveIncMotor self.synPermInactiveDecMotor = synPermInactiveDecMotor # Region params self.learn = learn PyRegion.__init__(self, **kwargs) # TM instance self._tm = None