A. Alabi, D. Vanderelst and A. A. Minai, "Context-Dependent Spatial Representations in the Hippocampus using Place Cell Dendritic Computation," 2022 International Joint Conference on Neural Networks (IJCNN), Padua, Italy, 2022, pp. 1-8, doi: 10.1109/IJCNN55064.2022.9892401. B. FILL IN ANY MORE
This project explores the role of place cells in the hippocampus of rodents, focusing on how they encode physical space. This model is based off of research that studies place cells in rat hippocampuses. This model aims to further the research of place cell based navigational models.
-
Initialize the Driver: The
Driverclass controls the robot and its interactions with the environment. It handles the loading or initialization of neural networks (place cell network and reward cell network) and manages the robot's sensors and movements. -
Startup: To start the simulation, use the
initializationmethod of theDriverclass.Example:
from driver import Driver from enums import RobotMode driver = Driver(num_place_cells=200, num_reward_cells=10, num_head_directions=8, run_time_hours=2, timestep=96) driver.initialization(mode=RobotMode.LEARN_OJAS, randomize_start_loc=True, run_time_hours=1)
-
Running the Simulation: After initializing, use the
runmethod to start the simulation in the mode set in initialization.Example:
driver.run()
-
Customization: Modify the
Driverclass parameters to suit your simulation needs, such as the number of place cells, reward cells, or the duration of the simulation.
driver.py: Contains theDriverclass which manages the simulation.networks/: Directory that contains neural network definitions used by the driver.boundary_vector_cell_layer: Layer that activates cells based on obstacles and their placements in the environment relative to the agenthead_direction_layer: Layer that activates cells based on the robot's position relative to its starting orientationplace_cell_layer: Layer that activates cells based on the robot's learned representation of location in the environmentreward_cell_layer: Layer that associates a set of place cell activations to a reward value
requirements.txt: Lists the dependencies required to run the project.
-
Clone the Git repository:
- First, you clone the repository with the following command:
git clone <repository_url>
- Replace
<repository_url>with the URL of the Git repository you want to clone.
- First, you clone the repository with the following command:
-
Navigate into the cloned repository's directory:
- Once the repository is cloned, navigate into the directory:
cd <repository_directory>
- Replace
<repository_directory>with the name of the cloned repository.
- Once the repository is cloned, navigate into the directory:
-
Create a virtual environment:
- Inside the cloned repository directory, create a virtual environment:
python -m venv venv
- This will create a
venvdirectory containing the virtual environment.
- Inside the cloned repository directory, create a virtual environment:
-
Activate the virtual environment:
- Activate the virtual environment:
- On macOS/Linux:
source venv/bin/activate - On Windows:
.\venv\Scripts\activate
- On macOS/Linux:
- Activate the virtual environment:
-
Install the dependencies from
requirements.txt:- Once the virtual environment is activated, install the required packages:
pip install -r requirements.txt
- This command reads the
requirements.txtfile and installs all the Python packages listed in it into the virtual environment.
- Once the virtual environment is activated, install the required packages:
By following these steps, you ensure that all dependencies are installed in an isolated environment, which helps avoid conflicts with other projects and keeps your development environment clean.
MIT License
Copyright (c) 2024 University of Cincinnati