def testPickCellsToLearnOnAvoidDuplicates(self): tm = TemporalMemory(seed=42) segment1 = tm.layer.columns[0].cells[0].createSegment() segment1.createSynapse(presynapticCell=tm.layer.columns[0].cells[23], permanence=0.6) winnerCells = set([tm.layer.columns[0].cells[23]]) # Ensure that no additional (duplicate) cells were picked self.assertEqual(tm.pickCellsToLearnOn(2, segment1, winnerCells), set())
def testPickCellsToLearnOn(self): tm = TemporalMemory(seed=42) segment1 = tm.layer.columns[0].cells[0].createSegment() winnerCells = set([tm.layer.columns[0].cells[4], tm.layer.columns[1].cells[15], tm.layer.columns[1].cells[26], tm.layer.columns[2].cells[29]]) self.assertEqual(tm.pickCellsToLearnOn(2, segment1, winnerCells), set([tm.layer.columns[0].cells[4], tm.layer.columns[1].cells[26]])) # randomly picked self.assertEqual(tm.pickCellsToLearnOn(100, segment1, winnerCells), set([tm.layer.columns[0].cells[4], tm.layer.columns[1].cells[15], tm.layer.columns[1].cells[26], tm.layer.columns[2].cells[29]])) self.assertEqual(tm.pickCellsToLearnOn(0, segment1, winnerCells), set())