コード例 #1
0
 def read(cls, proto):
     encoder = object.__new__(cls)
     encoder.width = proto.width
     encoder.name = proto.name or None
     encoder.n = proto.n
     encoder._adaptiveScalarEnc = (AdaptiveScalarEncoder.read(
         proto.adaptiveScalarEnc))
     encoder._prevAbsolute = proto.prevAbsolute
     encoder._prevDelta = proto.prevDelta
     encoder._stateLock = proto.stateLock
     return encoder
コード例 #2
0
ファイル: delta.py プロジェクト: Erichy94/nupic
 def read(cls, proto):
   encoder = object.__new__(cls)
   encoder.width = proto.width
   encoder.name = proto.name or None
   encoder.n = proto.n
   encoder._adaptiveScalarEnc = (
     AdaptiveScalarEncoder.read(proto.adaptiveScalarEnc)
   )
   encoder._prevAbsolute = proto.prevAbsolute
   encoder._prevDelta = proto.prevDelta
   encoder._stateLock = proto.stateLock
   return encoder
コード例 #3
0
 def read(cls, proto):
   encoder = object.__new__(cls)
   encoder.width = proto.width
   encoder.name = proto.name or None
   encoder.n = proto.n
   encoder._adaptiveScalarEnc = (
     AdaptiveScalarEncoder.read(proto.adaptiveScalarEnc)
   )
   encoder._prevAbsolute = None if proto.prevAbsolute == 0 else proto.prevAbsolute
   encoder._prevDelta = None if proto.prevDelta == 0 else proto.prevDelta
   encoder._stateLock = proto.stateLock
   encoder._learningEnabled = proto.learningEnabled
   encoder.description = []
   encoder.encoders = None
   return encoder
コード例 #4
0
ファイル: adaptivescalar_test.py プロジェクト: hoploop/nupic3
  def testReadWrite(self):

    originalValue = self._l.encode(1)

    proto1 = AdaptiveScalarEncoderProto.new_message()
    self._l.write(proto1)

    # Write the proto to a temp file and read it back into a new proto
    with tempfile.TemporaryFile() as f:
      proto1.write(f)
      f.seek(0)
      proto2 = AdaptiveScalarEncoderProto.read(f)

    encoder = AdaptiveScalarEncoder.read(proto2)

    self.assertIsInstance(encoder, AdaptiveScalarEncoder)
    self.assertEqual(encoder.recordNum, self._l.recordNum)
    self.assertDictEqual(encoder.slidingWindow.__dict__,
                         self._l.slidingWindow.__dict__)
    self.assertEqual(encoder.w, self._l.w)
    self.assertEqual(encoder.minval, self._l.minval)
    self.assertEqual(encoder.maxval, self._l.maxval)
    self.assertEqual(encoder.periodic, self._l.periodic)
    self.assertEqual(encoder.n, self._l.n)
    self.assertEqual(encoder.radius, self._l.radius)
    self.assertEqual(encoder.resolution, self._l.resolution)
    self.assertEqual(encoder.name, self._l.name)
    self.assertEqual(encoder.verbosity, self._l.verbosity)
    self.assertEqual(encoder.clipInput, self._l.clipInput)
    self.assertTrue(numpy.array_equal(encoder.encode(1), originalValue))
    self.assertEqual(self._l.decode(encoder.encode(1)),
                     encoder.decode(self._l.encode(1)))

    # Feed in a new value and ensure the encodings match
    result1 = self._l.encode(7)
    result2 = encoder.encode(7)
    self.assertTrue(numpy.array_equal(result1, result2))