Where can I learn more about Network links

I’m trying to use the Network API to build a classifier and I’m very confused about the possible links between Regions. I can’t seem to make sense of the TopDown and BottomUp directions and how they relate to a Nupic network structure. Is there a document that describes the differences between these types of links and when I would use them for specific regions?
bottomUpIn
topDownIn
spatialTopDownOut
temporalTopDownOut
bottomUpOut
resetIn
topDownOut
temporalTopDownIn
spatialTopDownIn
categoryOut
categoryIn

The C++ Style guide is the only document I’ve seen that has this.
http://nupic.docs.numenta.org/1.0.3/contributing/cpp-style-guide.html?highlight=topdownout

nodeSpecItem name Type Node type Description
dataOut O NL The primary output of the node
dataIn I NL The primary input to the node
bottomUpOut O LUnsup Output from a learning node (intended for higher level nodes)
bottomUpIn I L Input to a learning node (intended to be from lower level nodes)
topDownIn I L (optional) Input to a learning node (intended for nodes that receive input from higher level nodes)
topDownOut O L (optional) Output from a learning node (intended for nodes that send output to lower level nodes)

But, which node is “higher” and which is “lower” when I set up a Sensor feeding to SpatialPooler to a TemporalMemory?

The network quick start guide connects the SpatialPooler to TemporalMemory via bottomUpOut to bottomUpIn.
http://nupic.docs.numenta.org/1.0.5/quick-start/network.html

While the Network API Demo (network_api_demo.py) connects them via an undefined default link and a link from TM to SP via topDownOut to a topDownIn.

network.link(“spatialPoolerRegion”, “temporalPoolerRegion”, “UniformLink”, “”)
network.link(“temporalPoolerRegion”, “spatialPoolerRegion”, “UniformLink”, “”,
srcOutput=“topDownOut”, destInput=“topDownIn”)

1 Like

There is an example here.

1 Like