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)
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)