# Where can I learn more about Network links

**URL:** <https://discourse.numenta.org/t/where-can-i-learn-more-about-network-links/4119>\
**Category:** NuPIC\
**Created:** [June 30, 2018, 8:17pm UTC](https://discourse.numenta.org/t/where-can-i-learn-more-about-network-links/4119 "2018-06-30T20:17:03Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Randy](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/randy/32/1166_2.png) [@Randy](https://discourse.numenta.org/u/Randy)\
**Post date:** [June 30, 2018, 8:17pm UTC](https://discourse.numenta.org/t/where-can-i-learn-more-about-network-links/4119/1 "2018-06-30T20:17:03Z")

</div>

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](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](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”)

---

<div class="post-metadata">

**Author:** ![rhyolight](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/rhyolight/32/3922_2.png) [@rhyolight](https://discourse.numenta.org/u/rhyolight)\
**Post date:** [June 30, 2018, 10:54pm UTC](https://discourse.numenta.org/t/where-can-i-learn-more-about-network-links/4119/2 "2018-06-30T22:54:43Z")

</div>

There is an [example here](https://github.com/numenta/nupic/blob/master/examples/network/hierarchy_network_demo.py).
