def trainingHookFDR(net, path, report): """ This training hook is used extensively by the FDR experiments. It prints out the learned information about each level in the network """ # Print header print "\n## Executing trainingHook...." # Print info for each level tierCount = VU.getTierCount(net) # This loop is temporary until NuPIC 2 allows retrieval of Region names and # node types regions = net.regions for name, r in regions.items(): if 'FDR' in r.type or 'CLARegion' in r.type: if not r.getParameter('disableTemporal'): msg = "\n# Temporal node info for %s (nodetype %s):" % (name, r.type) print msg report.write(msg + os.linesep) for paramName in [ 'tpNumCells', 'tpNumSegments', 'tpNumSynapses', 'tpNumSynapsesPerSegmentMax', 'tpNumSynapsesPerSegmentAvg' ]: msg = "# %s: %s" % (paramName, str(r.getParameter(paramName))) print msg report.write(msg + os.linesep) if not r.getParameter('disableSpatial'): msg = "\n# Spatial node info for %s (nodetype %s):" % (name, r.type) print msg report.write(msg + os.linesep) if 'spLearningStatsStr' in r.spec.parameters: stats = eval(r.getParameter('spLearningStatsStr')) keys = stats.keys() keys.sort() for key in keys: msg = "# %-25s: %s" % (key, str(stats[key])) print msg report.write(msg + os.linesep)
def trainingHookFDR(net, path, report): """ This training hook is used extensively by the FDR experiments. It prints out the learned information about each level in the network """ # Print header print "\n## Executing trainingHook...." # Print info for each level tierCount = VU.getTierCount(net) # This loop is temporary until NuPIC 2 allows retrieval of Region names and # node types regions = net.regions for name, r in regions.items(): if 'FDR' in r.type or 'CLARegion' in r.type: if not r.getParameter('disableTemporal'): msg = "\n# Temporal node info for %s (nodetype %s):" % (name, r.type) print msg report.write(msg + os.linesep) for paramName in ['tpNumCells', 'tpNumSegments', 'tpNumSynapses', 'tpNumSynapsesPerSegmentMax', 'tpNumSynapsesPerSegmentAvg']: msg = "# %s: %s" % (paramName, str(r.getParameter(paramName))) print msg report.write(msg + os.linesep) if not r.getParameter('disableSpatial'): msg = "\n# Spatial node info for %s (nodetype %s):" % (name, r.type) print msg report.write(msg + os.linesep) if 'spLearningStatsStr' in r.spec.parameters: stats = eval(r.getParameter('spLearningStatsStr')) keys = stats.keys() keys.sort() for key in keys: msg = "# %-25s: %s" % (key, str(stats[key])) print msg report.write(msg + os.linesep)