Research Demos and Videos

The first set of videos are for learning the framework:

  • Neuromorphic Computing with TENNLab Video 0 - Introduction to TENNLab, 2022, 11 minutes. This is the first in a series of videos to introduce readers to TENNLab, and to start having them explore our software framework. In this video, we introduce our research group, TENNLab, then we give a brief introduction to spiking neural networks and how they compute.

  • Neuromorphic Computing with TENNLab Video 1: Overview of the software, 2022, 11 minutes. This video gives a high-level overview of the TENNLab software: Its components and a few examples of use. At the end of this video, the viewer is encouraged to pick a workflow -- Python or C++ -- and then follow documentation to start learning.

  • Neuromorphic Computing with TENNLab, Video 2 (C++): Walkthrough of the network_tool and the processor_tool, 2022, 51 minutes. This covers the beginnings of the C++ workflow:

      - Pulling and compiling.
      - The RISP Neuroprocessor.
      - A network that computes the XOR of A and B on RISP.
      - Using the network tool to get information about networks, and to modify networks.
      - Using the processor_tool to load networks, apply spikes, run and probe the processor's state.
    
  • Neuromorphic Computing with TENNLab, Video 3 (Python): Python Virtual Environment and Walkthrough of the Jupyter Notebooks, 2022, 26 minutes. This covers the beginnings of the Python workflow:

      - Pulling and compiling.
      - The RISP Neuroprocessor.
      - Building networks and running them from within Python.
      - Building a large random network, running it and plotting spike-raster plots of activity.
    
  • Neuromorphic Computing with TENNLab, Video 4 (C++): Applications, Training with EONS, Swarms, 2023, 1 hour, 50 minutes. This is a long video that covers the C++ workflow and the following applications/topics:

      - `AYSO_App`: A very simple control application
      - The cart/pole application and visualization (ours, not OpenAI gym's)
      - EONS for genetic training of spiking neural networks
      - Spike encoding for better training
      - The network visualization tool
      - The C++ classification application along with timeseries observations
      - The `AYSO_Swarm` application to train multiple homogeneous agents in the same application
      - The `AYSO_Coop` application to train heterogeneous agents in the same application.
    
  • Neuromorphic Computing with TENNLab, Supplementary Video 1: A quick introduction to using Bayesian Optimization with TENNLab, 2023, 19 minutes. Bayesian Optimization is a technique for searching large hyperparameter spaces efficiently. The module that we have implemented in TENNLab uses Scikit Optimize to help with the colossal number of hyperparameters that you need when you want to start training SNN's for an application. This video includes:

      - How the Scikit Optimize Bayesian utility is driven by our `bayes` utility
      - An example of getting started
      - An example of a multi-part Bayesian optimization, and the results that it produced.
      - If you're using this, you definitely need to read all of the markdown file, because there
        are some feature and subleties that are only available there.
      - This video uses the C++ workflow, but it should work with Python too.
    

These are some application videos that are older, but show some of our control applications:

  • Demo + Video: Robonav on the DANNA FPGA, 2017. RoboNav is a robotic vehicle whose job is to navigate a space while avoiding obstacles. It was the result of a Senior Design team at the University of Tennessee in the spring semester, 2017. Continued development has come from students Parker Mitchell and Grant Bruer. RoboNav is navigated by a neuromorphic network on the DANNA architecture, implemented on an FPGA. Everything is battery powered and on the robot. In particular, there is no microprocessor -- just communication from the inputs to the DANNA FPGA, and from the FPGA back to the caterpillar controls of the robot.

  • Demo: Pole Balancer on DANNA, 2016. This goes through the pole balancing application (inverted pendulum on a cart) in detail, and how it is implemented in the neuromorphic architecture DANNA. The page includes detailed descriptions, pictures and videos.