GithubHelp home page GithubHelp logo

megayeye / whiskerpredictivenetwork Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tomknowles1994/whiskerpredictivenetwork

0.0 1.0 0.0 1.45 MB

Code accompanying the Robotics MSc Project "Predictive coding applied to the removal of tactile reafferent noise"

Jupyter Notebook 100.00%

whiskerpredictivenetwork's Introduction

WhiskerPredictiveNetwork

Code accompanying the Robotics MSc Project "Predictive coding applied to the removal of tactile reafferent noise"

To Review

  • Simply click on the Whisker Predictive Network v1 and/or v2 files in the repository. As they are Jupyter Notebooks, most of the outputs have been stored with the code.

  • v1 is the network without multi-timestep enhancements only

  • v2 is the network with said enhancements and the baseline network

To Install

  • Install the following Python packages via the pip package manager (with the general form 'pip install [package]'):

    • tensorflow (unlike older versions, this will auto-install GPU compatibility and all dependencies)
    • pandas
    • numpy
    • cv2
    • matplotlib
    • scipy
    • scikit-learn
  • (Optional) Install CUDA. This requires making a CUDA developer account on https://developer.nvidia.com/cuda-downloads and downloading the following installation:

    • CUDA v10.1

    Instructions at: https://docs.nvidia.com/cuda/

    Then, download and extract the following file into the CUDA v10.1 bin folder (on Windows 10, this will be C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\bin):

    • cudnn74_7.dll
  • Install Jupyter Notebook. If the pip package manage is installed, run 'pip install notebook'. Other installation options can be found at: https://jupyterlab.readthedocs.io/en/stable/getting_started/installation.html

To Run

  • Download both the "Whisker Predictive Network" files. v1 is the code for the Baseline LSTM and Whisker Predictive Network with single timesteps. v2 also contains the Baseline LSTM, but the Whisker Predictive Network has been modified to use multiple timesteps.

  • Run Jupyter Notebook via Command Prompt (Windows) or Terminal (Linux or Mac), with the command 'jupyter notebook'.

  • Jupyter should load automatically. If it doesn't, copy and paste the link provided by the terminal output. This may require granting permissions to Jupyter via the browser. Tested to work on Google Chrome and Microsoft Edge.

  • Find the desired file and open it in Jupyter. They will load Jupyter Notebooks and reside in their own tabs. Though not usually a problem, it is recommended to only load one file at a time, as some state is shared between instances despite the best efforts of the author.

  • Download and unpack the data files from the link given in the Dissertation PDF, Appendix D

  • Modify the filepath parameter of all instances of sio.loadmat() to point towards the 200805-Whiskerdata folder.

  • Run all cells via Cells -> Run All. To ensure a run with no carryover of state, for subsequent runs use Kernel -> Restart and Run All

whiskerpredictivenetwork's People

Contributors

tomknowles1994 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.