示例#1
0
 def testSerialization4(self):
   # This test verifies that saveToFile() and loadFromFile with BINARY on Classifier are accessible from Python.
   inputData  = SDR( 1000 ).randomize( 0.02 )
   categories = { 'A': 0, 'B': 1, 'C': 2, 'D': 3 }
   c1 = Classifier()
   c1.learn(inputData, categories['B'] )
   file = "Classifier_test_save.BINARY"
   c1.saveToFile(file)
   
   c2 = Classifier()
   c2.loadFromFile(file)
   result2 = c2.infer( inputData )
   self.assertTrue(numpy.argmax( result2 )  ==  categories['B'])
   os.remove(file)
示例#2
0
  def testSerialization3(self):
    # This test verifies that saveToFile() and loadFromFile() on Classifier are accessable from Python.
    SDR1 = SDR(15);  SDR1.sparse = [1, 5, 9]
    SDR2 = SDR(15);  SDR2.sparse = [0, 6, 9, 11]
    SDR3 = SDR(15);  SDR3.sparse = [6, 9]
    SDR4 = SDR(15);  SDR4.sparse = [1, 5, 9]
    c1 = Classifier()
    c1.learn(pattern=SDR1, classification=4)
    c1.learn(pattern=SDR2, classification=5)
    c1.learn(pattern=SDR3, classification=5)
    c1.learn(pattern=SDR4, classification=4)

    # The Predictor now has some data in it, try serialization.
    file = "Classifier_test_save.XML"
    c1.saveToFile(file, "XML")
    c2 = Classifier()
    c2.loadFromFile(file, "XML")
    os.remove(file)

    result1 = c1.infer(SDR1)
    result2 = c2.infer(SDR1)
    self.assertEqual(len(result1), len(result2))
    for i in range(len(result1)):
      self.assertAlmostEqual(result1[i], result2[i], places=5)