예제 #1
0
  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)
예제 #2
0
파일: SPRegion.py 프로젝트: smg1/nupic
    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)
예제 #3
0
  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)
예제 #4
0
  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)
예제 #5
0
    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)
예제 #6
0
    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)
예제 #7
0
  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)
예제 #8
0
파일: TPRegion.py 프로젝트: ARK1988/nupic
  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)
예제 #9
0
  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)
예제 #10
0
  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)
예제 #11
0
    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)
예제 #12
0
파일: PCANode.py 프로젝트: AI-Cdrone/nupic
  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)
예제 #13
0
    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)