예제 #1
0
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)
예제 #2
0
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)