Giter Club home page Giter Club logo

neuralnilm_prototype's Introduction

Neural NILM Prototype

Early prototype for the Neural NILM (non-intrusive load monitoring) software. This software will be completely re-written as the Neural NILM project.

This is the software that was used to run the experiments for our Neural NILM paper.

Note that Neural NILM Prototype is completely unsupported and is a bit of a mess!

If you really want to re-implement my Neural NILM ideas, then I recommend that you start from scratch using a modern DeepLearning framework like TensorFlow. Honestly, it will be easier in the long run!

Directories:

  • neuralnilm contains re-usable library code
  • scripts contains runnable experiments
  • notebooks contains IPython Notebooks (mostly for testing stuff out)

The script which specified the experiments I ran in my paper is e567.py.

(It's a pretty horrible bit of code! Written in a rush!) In that script, you can see the SEQ_LENGTH for each appliance and the N_SEQ_PER_BATCH (the number of training examples per batch). Basically, the sequence length varied from 128 (for the kettle) up to 1536 (for the dish washer). And the number of sequences per batch was usually 64, although I had to reduce that to 16 for the RNN for the longer sequences.

The nets took a long time to train (I don't remember exactly how long but it was of the order of about one day per net per appliance). You can see exactly how long I trained each net in that e567.py script (look at the def net_dict_<architecture> functions and look for epochs.... that's the number of batches (not epochs!) given to the net during training). It's 300,000 for the rectangles net, 100,000 for the AE and 10,000 for the RNN (because the RNN was a lot slower to train... I chose these numbers because the nets appeared to stop learning after this number of training iterations).

neuralnilm_prototype's People

Contributors

jackkelly 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.