Example #1
0
    def testCreateSegment(self):
        h = HTM()
        h.initialize_input([[1, 1, 1], [1, 1, 1]])
        cell = Cell()
        startingSegments = config.getint("init", "segments_per_cell")
        self.assertEqual(startingSegments, len(cell.segments))
        cell.create_segment(h)
        self.assertEqual(startingSegments + 1, len(cell.segments))

        # make sure newly created segment has the right number of synapses
        self.assertNotEqual(0, len(cell.segments[-1].synapses))
Example #2
0
 def __init__(self, htm, x, y, cellsPerColumn):
     '''
     
     '''
     self.htm = htm
     self.cells = [Cell(self, i) for i in xrange(cellsPerColumn)]
     self.overlap = 0
     #synapses on input/proximal dendrites, forced equal for whole column, in equivalent of single segment
     self.segment = Segment(distal=False)
     self.boost = 1
     self.x = x
     self.y = y
     self.dutyCycleMin = 0
     self.dutyCycleActive = 0
     self.dutyCycleOverlap = 0
     self.active = False
Example #3
0
 def testCreateSegment(self):
     htm = Mock()
     learning = Mock()
     learning.wasLearning = True
     active = Mock()
     active.wasLearning = False
     active.wasActive = True
     htm.cells = [learning, active, active]
     cell = Cell()
     
     self.assertNotEqual(cell, learning)
     
     startingSegments = config.getint('init','segments_per_cell')
     self.assertEqual(startingSegments, len(cell.segments))
     cell.create_segment(htm, nextStep=False)
     self.assertEqual(startingSegments+1, len(cell.segments))
     cell.create_segment(htm, nextStep=True)
     self.assertEqual(startingSegments+2, len(cell.segments))
     
     #make sure newly created segment has the right number of synapses
     self.assertNotEqual(0, len(cell.segments[-2].synapses))
     self.assertNotEqual(0, len(cell.segments[-1].synapses))
Example #4
0
    def testClockTick(self):
        c = Cell()
        self.assertFalse(c.active)
        self.assertFalse(c.learning)
        self.assertFalse(c.predicting)

        c.clockTick()

        self.assertFalse(c.wasActive)
        self.assertFalse(c.wasLearning)
        self.assertFalse(c.predicted)

        c.active = True
        c.clockTick()
        self.assert_(c.wasActive)
        self.assertFalse(c.wasLearning)
        self.assertFalse(c.predicted)

        c.learning = True
        c.clockTick()
        self.assertFalse(c.wasActive)
        self.assert_(c.wasLearning)
        self.assertFalse(c.predicted)

        c.predicting = True
        c.clockTick()
        self.assertFalse(c.wasActive)
        self.assertFalse(c.wasLearning)
        self.assert_(c.predicted)
Example #5
0
 def testClockTick(self):
     c = Cell()
     self.assertFalse(c.active)
     self.assertFalse(c.learning)
     self.assertFalse(c.predicting)
     
     c.clockTick()
     
     self.assertFalse(c.wasActive)
     self.assertFalse(c.wasLearning)
     self.assertFalse(c.predicted)
     
     c.active=True
     c.clockTick()
     self.assert_(c.wasActive)
     self.assertFalse(c.wasLearning)
     self.assertFalse(c.predicted)
     
     c.learning=True
     c.clockTick()
     self.assertFalse(c.wasActive)
     self.assert_(c.wasLearning)
     self.assertFalse(c.predicted)
     
     c.predicting=True
     c.clockTick()
     self.assertFalse(c.wasActive)
     self.assertFalse(c.wasLearning)
     self.assert_(c.predicted)