Implementation of adaptive computation and a case study on multiple object tracking (Pylyshyn & Storm 1988).
git clone https://github.com/CNCLgithub/mot
and cd mot
./env.d/setup.sh cont_pull python julia
to build the container and setup python and Julia../env.d/run.sh julia
to get into Julia REPL./env.d/setup.sh datasets
to download the datasets used for the experiments.This project has automatic configuration!! This configuration is defined in default.conf
.
You should always prepend ./run.sh
before any command (including running programs like julia
) to ensure consistency.
If you wish to have different values than default.conf
, simply:
cp default.conf user.conf
vi user.conf # edit to your liking without adding new elements
The project is organized into core routines (under src
) and user scripts (under scripts
).
In order to run the adaptive computation model from scratch:
scripts/experiments
(batch scripts are provided for SLURM)scripts/analysis/aggregate_chains.jl
More details can be found in the README for each section.
In order to use singularity you must have a virtual machine running. Assuming you have vagrant (and something like virtualbox) setup on your host, you can follow these steps
src
or functional_scenes
)scripts
SPATHS
.master
or dev
git add *
setup.sh
accordingly.The python package environment is managed by as defined in setup.sh
(specifically SENV[pyenv]
)
Likewise, the Julia package is described under src
and test
All scripts are located under scripts
and data/output is under env.d/spaths
as specific in the project config (default.conf
or user.conf
)
To add new python or julia packages use the provided package managers (poetry add
or Pkg.add
for python and julia respectively.)
For julia you can also use ] add
in the REPL