https://github.com/berenslab/retinal-rl

Testing theories about retinal coding in reinforcement learning environments

https://github.com/berenslab/retinal-rl

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

Testing theories about retinal coding in reinforcement learning environments

Basic Info
  • Host: GitHub
  • Owner: berenslab
  • License: agpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 27.3 MB
Statistics
  • Stars: 0
  • Watchers: 3
  • Forks: 1
  • Open Issues: 25
  • Releases: 0
Created over 4 years ago · Last pushed 11 months ago
Metadata Files
Readme License

README.md

Retinal RL

A deep learning framework for vision research using deep reinforcement learning.

Apptainer Environment

Retinal-Rl is designed to run in a containerized environment using Apptainer.

Installation

  1. Install Apptainer to run the containerized environment.

  2. Get the container:

  • Either pull the pre-built container: bash apptainer pull retinal-rl.sif oras://ghcr.io/berenslab/retinal-rl:singularity-image
  • or build from source: bash apptainer build retinal-rl.sif resources/retinal-rl.def

Running Experiments

The scan command prints info about the proposed neural network architecture: bash apptainer exec retinal-rl.sif python main.py +experiment="{experiment}" command=scan The experiment must always be specified with the +experiment flag. To train a model, use the train command: bash apptainer exec retinal-rl.sif python main.py +experiment="{experiment}" command=train

apptainer commands can typically be replaced with singularity if the latter is rather used.

Hydra Configuration

The project uses Hydra for configuration management.

Directory Structure

The structure of the ./config/ directory is as follows:

base/config.yaml # General and system configurations user/ ├── brain/ # Neural network architectures ├── dataset/ # Dataset configurations ├── optimizer/ # Training optimizers └── experiment/ # Experiment configurations

Default Configuration

Template configs are available under ./resources/config_templates/user/..., which also provide documentation of the configuration variables themselves. Consult the hydra documentation for more information on configuring your project.

Configuration Management

  1. Configuration templates may be copied to the user directory by running: bash bash tests/ci/copy_configs.sh

  2. Template and custom configurations can be sanity-checked with: bash bash tests/ci/scan_configs.sh which runs the scan command for all experiments.

Weights & Biases Integration

Retinal-RL supports logging to Weights & Biases for experiment tracking.

Basic Configuration

By default plots and analyses are saved locally. To enable Weights & Biases logging, add the logging.use_wandb: True flag to the command line: bash apptainer exec retinal-rl.sif python main.py +experiment="{experiment}" logging.use_wandb=True command=train

Parameter Sweeps

Wandb sweeps can be added to user/sweeps/{sweep}.yaml and launched from the command line: bash apptainer exec retinal-rl.sif python main.py +experiment="{experiment}" +sweep="{sweep}" command=sweep

Typically the only command line arguments that need a + prefix will be +experiment and +sweep. Also note that .yaml extensions are dropped at the command line.

Owner

  • Name: Berens Lab @ University of Tübingen
  • Login: berenslab
  • Kind: organization
  • Email: philipp.berens@uni-tuebingen.de
  • Location: Tübingen, Germany

Department of Data Science at the Hertie Institute for AI in Brain Health, University of Tübingen

GitHub Events

Total
  • Create event: 34
  • Commit comment event: 1
  • Issues event: 41
  • Delete event: 29
  • Issue comment event: 41
  • Push event: 224
  • Gollum event: 2
  • Pull request review event: 41
  • Pull request review comment event: 33
  • Pull request event: 60
Last Year
  • Create event: 34
  • Commit comment event: 1
  • Issues event: 41
  • Delete event: 29
  • Issue comment event: 41
  • Push event: 224
  • Gollum event: 2
  • Pull request review event: 41
  • Pull request review comment event: 33
  • Pull request event: 60

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 2
  • Total pull requests: 9
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: 2 days
  • Total issue authors: 1
  • Total pull request authors: 2
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 9
  • Average time to close issues: about 2 hours
  • Average time to close pull requests: 2 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • alex404 (17)
  • fabioseel (14)
Pull Request Authors
  • fabioseel (27)
  • alex404 (11)
Top Labels
Issue Labels
Enhancement (6) Bug (4) Infrastructure (3) Refactor (3) Feature (2) Simulation (2) CI (2)
Pull Request Labels
Infrastructure (1)

Dependencies

Dockerfile docker
  • berenslab/deeplearning latest build
environment.yml pypi
  • absl-py ==1.3.0
  • cachetools ==5.2.0
  • click ==8.1.3
  • cloudpickle ==2.2.0
  • colorlog ==6.7.0
  • cython ==0.29.32
  • docker-pycreds ==0.4.0
  • faster-fifo ==1.4.2
  • filelock ==3.8.0
  • gitdb ==4.0.9
  • gitpython ==3.1.29
  • google-auth ==2.14.0
  • google-auth-oauthlib ==0.4.6
  • greenlet ==2.0.0
  • grpcio ==1.50.0
  • gym ==0.25.2
  • gym-notices ==0.0.8
  • importlib-metadata ==5.0.0
  • markdown ==3.4.1
  • markupsafe ==2.1.1
  • msgpack ==1.0.4
  • oauthlib ==3.2.2
  • pathtools ==0.1.2
  • promise ==2.3
  • protobuf ==3.19.6
  • psutil ==5.9.3
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pygifsicle ==1.0.6
  • pyglet ==2.0.0
  • pynvim ==0.4.3
  • pyyaml ==6.0
  • requests-oauthlib ==1.3.1
  • rsa ==4.9
  • sample-factory ==1.123.0
  • sentry-sdk ==1.10.1
  • setproctitle ==1.3.2
  • shortuuid ==1.0.9
  • smmap ==5.0.0
  • support-developer ==1.0.4
  • tensorboard ==2.10.1
  • tensorboard-data-server ==0.6.1
  • tensorboard-plugin-wit ==1.8.1
  • tensorboardx ==2.5.1
  • vizdoom ==1.1.13
  • wandb ==0.13.4
  • werkzeug ==2.2.2
  • zipp ==3.10.0