ATTN: This is a work in progress.
Pytorch implementation of AHA! an ‘Artificial Hippocampal Algorithm’ for Episodic Machine Learning by Kowadlo, Rawlinson and Ahmed (2019).
Use Pipenv to install dependencies and create compatible virtual environment. (https://thoughtbot.com/blog/how-to-manage-your-python-projects-with-pipenv)
- Requires Python version >= 3.6
To pretrain the visual cortex modules, run the following:
python pretrain.py --model=experiments/pretrain --json=experiments/pretrain/params.json
To enable saving of weights after each epoch add the autosave flag:
--autosave or -a
To load pre-trained weights from model path, include:
--load
Sending metrics to wandb.ai:
--wandb
Display image after each epoch:
--showlast
Animate training(mac only)
--animate
Customize relative paths:
weights:
--model
datafolder:
--data
params.json:
--json
Coming...
Weights should already be trained for the VC module, so to run predictions, do the following:
- python train.py
Logs are stored in session.log in the project root dir. They are currently set to overwrite (w
) and can be set to append with an a
in the set_logs
- Jacob Krajewski - Pytorch implementation
This project is licensed under the MIT License - see the LICENSE.md file for details
- Thanks to Gideon Kowadlo and David Rawlinson for guiding me through some of the more difficult elements of the ANN.
- Thanks to @ptrblk on the Pytorch forums for walking me through some of the more confusing aspects of Pytorch.