Example scripts#

In the folder called demos we provide numerous script and demos which will help when learning RatInABox. In approximate order of complexity, these include:

  • simple_example.ipynb: a very simple tutorial for importing RiaB, initialising an Environment, Agent and some PlaceCells, running a brief simulation and outputting some data. Code copied here for convenience.

import ratinabox #IMPORT 
from ratinabox.Environment import Environment
from ratinabox.Agent import Agent
from ratinabox.Neurons import *
#INITIALISE CLASSES
Env = Environment() 
Ag = Agent(Env)
PCs = PlaceCells(Ag)
#EXPLORE
for i in range(int(20/Ag.dt)): 
    Ag.update()
    PCs.update()
#ANALYSE/PLOT
print(Ag.history['pos'][:10]) 
print(PCs.history['firingrate'][:10])
fig, ax = Ag.plot_trajectory()
fig, ax = PCs.plot_rate_timeseries()
  • extensive_example.ipynb: a more involved tutorial. More complex enivornment, more complex cell types and more complex plots are used.

  • list_of_plotting_functions.md: All the types of plots available for are listed and explained.

  • readme_figures.ipynb: (Almost) all plots/animations shown in the root readme are produced from this script (plus some minor formatting done afterwards in powerpoint).

  • paper_figures.ipynb: (Almost) all plots/animations shown in the paper are produced from this script (plus some major formatting done afterwards in powerpoint).

  • decoding_position_example.ipynb: Postion is decoded from neural data generated with RatInABox. Place cells, grid cell and boundary vector cells are compared.

  • splitter_cells_example.ipynb: A simple simultaion demonstrating how Splittre cell data could be create in a figure-8 maze.

  • reinforcement_learning_example.ipynb: RatInABox is use to construct, train and visualise a small two-layer network capable of model free reinforcement learning in order to find a reward hidden behind a wall.

  • actor_critic_example.ipynb: RatInABox is use to implement the actor critic algorithm using deep neural networks.

  • successor_features_example.ipynb: RatInABox is use to learn and visualise successor features under random and biased motion policies.

  • path_integration_example.ipynb: RatInABox is use to construct, train and visualise a large multi-layer network capable of learning a “ring attractor” capable of path integrating a position estimate using only velocity inputs.