def getParameter(self, parameterName, index=-1): """ Get the value of a NodeSpec parameter. Most parameters are handled automatically by PyRegion's parameter get mechanism. The ones that need special treatment are explicitly handled here. """ if parameterName == 'activeOutputCount': return self.columnCount elif parameterName == 'spatialPoolerInput': return list(self._spatialPoolerInput.reshape(-1)) elif parameterName == 'spatialPoolerOutput': return list(self._spatialPoolerOutput) elif parameterName == 'spNumActiveOutputs': return len(self._spatialPoolerOutput.nonzero()[0]) elif parameterName == 'spOutputNonZeros': return [len(self._spatialPoolerOutput)] + \ list(self._spatialPoolerOutput.nonzero()[0]) elif parameterName == 'spInputNonZeros': import pdb; pdb.set_trace() return [len(self._spatialPoolerInput)] + \ list(self._spatialPoolerInput.nonzero()[0]) elif parameterName == 'spLearningStatsStr': try: return str(self._sfdr.getLearningStats()) except: return str(dict()) else: return PyRegion.getParameter(self, parameterName, index)
def getParameter(self, parameterName, index=-1): """ Get the value of a NodeSpec parameter. Most parameters are handled automatically by PyRegion's parameter get mechanism. The ones that need special treatment are explicitly handled here. """ if parameterName == 'activeOutputCount': return self.columnCount elif parameterName == 'spatialPoolerInput': return list(self._spatialPoolerInput.reshape(-1)) elif parameterName == 'spatialPoolerOutput': return list(self._spatialPoolerOutput) elif parameterName == 'spNumActiveOutputs': return len(self._spatialPoolerOutput.nonzero()[0]) elif parameterName == 'spOutputNonZeros': return [len(self._spatialPoolerOutput)] + \ list(self._spatialPoolerOutput.nonzero()[0]) elif parameterName == 'spInputNonZeros': import pdb pdb.set_trace() return [len(self._spatialPoolerInput)] + \ list(self._spatialPoolerInput.nonzero()[0]) elif parameterName == 'spLearningStatsStr': try: return str(self._sfdr.getLearningStats()) except: return str(dict()) else: return PyRegion.getParameter(self, parameterName, index)
def getParameter(self, parameterName, index=-1): """ Get the value of a NodeSpec parameter. Most parameters are handled automatically by PyRegion's parameter get mechanism. The ones that need special treatment are explicitly handled here. """ if parameterName == 'sparseCoincidenceMatrix': if not self._sfdr: return None return self._sfdr.cm elif parameterName == 'activeOutputCount': return self.columnCount elif parameterName == 'spatialPoolerInput': return list(self._spatialPoolerInput.reshape(-1)) elif parameterName == 'spatialPoolerOutput': return list(self._spatialPoolerOutput) elif parameterName == 'spNumActiveOutputs': return len(self._spatialPoolerOutput.nonzero()[0]) elif parameterName == 'spOverlapDistribution': if not self._sfdr: return [] # Get the dense output (will only work if you've done storeDenseOutput) try: denseOutput = self._sfdr.getDenseOutput() if len(denseOutput) == 0: raise Exception("storeDenseOutput wasn't set in PY version") denseOutput = numpy.array(denseOutput) except Exception: print "WARNING: You must enable storing dense output in the SP using" \ "setStoreDenseOutput." return [] winnerIndices = numpy.array(self._spatialPoolerOutput).nonzero()[0] overlaps = denseOutput[winnerIndices] # Sort descending and convert to list... overlaps = sorted(overlaps, reverse=True) return overlaps elif parameterName == "denseOutput": # Must be a list, not a numpy array to make NuPIC happy... denseOutput = self._sfdr.getDenseOutput() if not isinstance(denseOutput, list): assert isinstance(denseOutput, numpy.ndarray) denseOutput = list(denseOutput) return denseOutput elif parameterName == 'spOutputNonZeros': return [len(self._spatialPoolerOutput)] + \ list(self._spatialPoolerOutput.nonzero()[0]) elif parameterName == 'spInputNonZeros': import pdb; pdb.set_trace() return [len(self._spatialPoolerInput)] + \ list(self._spatialPoolerInput.nonzero()[0]) elif parameterName == 'spLearningStatsStr': try: return str(self._sfdr.getLearningStats()) except: return str(dict()) else: return PyRegion.getParameter(self, parameterName, index)
def getParameter(self, name, index=-1): """ Get the value of the parameter. @param name -- the name of the parameter to retrieve, as defined by the Node Spec. """ if name == "patternCount": return self._knn._numPatterns elif name == "patternMatrix": return self._getPatternMatrix() elif name == "k": return self._knn.k elif name == "distanceNorm": return self._knn.distanceNorm elif name == "distanceMethod": return self._knn.distanceMethod elif name == "distThreshold": return self._knn.distThreshold elif name == "inputThresh": return self._knn.binarizationThreshold elif name == "doBinarization": return self._knn.doBinarization elif name == "useSparseMemory": return self._knn.useSparseMemory elif name == "sparseThreshold": return self._knn.sparseThreshold elif name == "winnerCount": return self._knn.numWinners elif name == "relativeThreshold": return self._knn.relativeThreshold elif name == "SVDSampleCount": v = self._knn.numSVDSamples return v if v is not None else 0 elif name == "SVDDimCount": v = self._knn.numSVDDims return v if v is not None else 0 elif name == "fractionOfMax": v = self._knn.fractionOfMax return v if v is not None else 0 elif name == "useAuxiliary": return self._useAuxiliary elif name == "justUseAuxiliary": return self._justUseAuxiliary elif name == "doSphering": return self._doSphering elif name == "cellsPerCol": return self._knn.cellsPerCol elif name == "maxStoredPatterns": return self.maxStoredPatterns elif name == 'categoryRecencyList': return self._knn._categoryRecencyList else: # If any spec parameter name is the same as an attribute, this call # will get it automatically, e.g. self.learningMode return PyRegion.getParameter(self, name, index)
def getParameter(self, name, index=-1): """ Get the value of the parameter. @param name -- the name of the parameter to retrieve, as defined by the Node Spec. """ # If any spec parameter name is the same as an attribute, this call # will get it automatically, e.g. self.learningMode return PyRegion.getParameter(self, name, index)
def getParameter(self, parameterName, index=-1): """ Get the value of a parameter. Most parameters are handled automatically by PyRegion's parameter get mechanism. The ones that need special treatment are explicitly handled here. """ if parameterName in self._temporalArgNames: return getattr(self._tfdr, parameterName) else: return PyRegion.getParameter(self, parameterName, index)
def getParameter(self, name, index=-1): """ Get the value of the parameter. @param name -- the name of the parameter to retrieve, as defined by the Node Spec. """ if name == "trainRecords": return self.trainRecords elif name == "anomalyThreshold": return self.anomalyThreshold elif name == "activeColumnCount": return self._activeColumnCount elif name == "classificationMaxDist": return self._classificationMaxDist else: # If any spec parameter name is the same as an attribute, this call # will get it automatically, e.g. self.learningMode return PyRegion.getParameter(self, name, index)
def getParameter(self, name, index=-1): """ Get the value of a parameter. Note: this method may be overridden by derived classes, but if so, then the derived class should invoke this base method if 'name' is unknown to the derived class. @param name -- the name of the parameter to retrieve, as defined by the Node Spec. """ if name == "SVDSampleCount": return self._SVDSampleCount elif name == "SVDDimCount": return self._SVDDimCount elif name == "fractionOfMax": return self._fractionOfMax elif name == "trainingSampleCount": return self.gettrainingSampleCount() else: # If any spec parameter name is the same as an attribute, this call # will get it automatically, e.g. self.learningMode return PyRegion.getParameter(self, name, index)