NidhiSalian / Neurobiologically-Plausible-Behavioral-Prediction

A model of mixed neural networks for step-by-step processing of dynamic visual scenes, activity recognition and behavioral prediciton

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Neurobiologically-Plausible-Behavioral-Prediction

A model of mixed neural networks for step-by-step processing of dynamic visual scenes, activity recognition and behavioral prediciton

Based on some of my old research work. You can find the most recent publication here, and the initial draft can be found in this repo here.

More code, datasets and models to be uploaded soon.

Pre-Requisites

If you're working with Python for Deep Learning on Windows and would like to install Anaconda without any hassles, I'd recommend an older, stable release if the newer versions have unresolved bugs in their Windows versions. They can be found in the Anaconda Installer Archive here.

Also recommended is the Spyder IDE that comes bundled with anaconda.

Note: If you're new to Python3 and Anaconda, this might come in handy.

You'll need to install the following Python packages :

Keras This line should let you [install Keras](https://anaconda.org/conda-forge/keras) (I used v2.1.5):

conda install -c conda-forge keras

OpenCV This line should let you [install OpenCV](https://anaconda.org/conda-forge/opencv) (I used v3.4.1):

conda install -c conda-forge opencv

( Linux Users- a common issue with OpenCV - resolved here)


If you want to train your own model, you'll need a GPU. A massive amount of processing power is required to learn the numerous parameters(30,874,671 - last I checked) in the hidden dimensions of the LSTM units. If you already have a GPU on your system, Keras should be able to detect it automatically. (Nvidia users can run a quick nvidia-smi to confirm. )

What This repo Contains

The contents of this repository are organized as follows:

--|__code 
  |     |__datasetloader.py
  |     |__visualattentionmodule.py 
  |     |__drivermodule.py 
  |__data 
        |__backup 
        |__va_output 
        |__annotations 
        |__videos

Acknowledgements

I've used TimeDistributed() wrappers with my LSTM units to enable sequence to label mapping. It took me a while to wrap my head around it, but this blogpost, this github issue thread and this StackOverflow thread definitely helped.

Note

I developed this particular project using Anaconda3 v4.4 for Windows, but I've tried to make sure my code is 100% portable as is to any other OS. I've already tested it with Linux variants(CentOS 6.8 and Ubuntu 16.04). If you have any issues running this project on your setup despite meeting all the listed requirements, feel free to mail me at : nidhisalian08@gmail.com.

License:

GNU General Public License

About

A model of mixed neural networks for step-by-step processing of dynamic visual scenes, activity recognition and behavioral prediciton

License:Other


Languages

Language:Python 100.0%