本文整理汇总了Python中nupic.bindings.algorithms.SpatialPooler._updatePermanencesForColumn方法的典型用法代码示例。如果您正苦于以下问题:Python SpatialPooler._updatePermanencesForColumn方法的具体用法?Python SpatialPooler._updatePermanencesForColumn怎么用?Python SpatialPooler._updatePermanencesForColumn使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nupic.bindings.algorithms.SpatialPooler
的用法示例。
在下文中一共展示了SpatialPooler._updatePermanencesForColumn方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: testUpdatePermanencesForColumn
# 需要导入模块: from nupic.bindings.algorithms import SpatialPooler [as 别名]
# 或者: from nupic.bindings.algorithms.SpatialPooler import _updatePermanencesForColumn [as 别名]
def testUpdatePermanencesForColumn(self):
sp = SpatialPooler(inputDimensions = [5],
columnDimensions = [5])
sp.setSynPermTrimThreshold(0.05)
permanencesList = [
[ -0.10, 0.500, 0.400, 0.010, 0.020 ],
[ 0.300, 0.010, 0.020, 0.120, 0.090 ],
[ 0.070, 0.050, 1.030, 0.190, 0.060 ],
[ 0.180, 0.090, 0.110, 0.010, 0.030 ],
[ 0.200, 0.101, 0.050, -0.09, 1.100 ]]
expectedPermanencesList = [
[ 0.000, 0.500, 0.400, 0.000, 0.000],
# Clip - - Trim Trim
[0.300, 0.000, 0.000, 0.120, 0.090],
# - Trim Trim - -
[0.070, 0.050, 1.000, 0.190, 0.060],
# - - Clip - -
[0.180, 0.090, 0.110, 0.000, 0.000],
# - - - Trim Trim
[0.200, 0.101, 0.050, 0.000, 1.000]]
# - - - Clip Clip
expectedConnectedSynapsesList = [
[0, 1, 1, 0, 0],
[1, 0, 0, 1, 0],
[0, 0, 1, 1, 0],
[1, 0, 1, 0, 0],
[1, 1, 0, 0, 1]]
expectedConnectedCounts = [2, 2, 2, 2, 3]
for i in xrange(5):
permanences = np.array(permanencesList[i], dtype=realDType)
expectedPermanences = np.array(expectedPermanencesList[i],
dtype=realDType)
expectedConnectedSynapses = expectedConnectedSynapsesList[i]
sp._updatePermanencesForColumn(permanences, i, False)
updatedPermanences = np.zeros(5, dtype=realDType)
connectedSynapses = np.zeros(5, dtype=uintDType)
connectedCounts = np.zeros(5, dtype=uintDType)
sp.getPermanence(i, updatedPermanences)
sp.getConnectedSynapses(i, connectedSynapses)
sp.getConnectedCounts(connectedCounts)
np.testing.assert_almost_equal(updatedPermanences, expectedPermanences)
self.assertEqual(list(connectedSynapses), expectedConnectedSynapses)
self.assertEqual(connectedCounts[i], expectedConnectedCounts[i])