2014 Goals For NuPIC

noname77 edited this page Aug 12, 2014 · 11 revisions
Clone this wiki locally

Usability

New users of NuPIC should be able to build (or otherwise install) NuPIC with tests passing and sample apps running within 5 minutes. They should have sample examples of usage for them to either generate or convert data into NuPIC input and proper model parameters that produce appropriate predictions and/or anomaly detection within 6 hours.

Samples

  • compelling sample use case(s) for NuPIC, with clear documentation and instructions for running
  • input and output are clear
  • tutorial walks users through setting up all components of the sample app, including input, model parameters, swarming, and analysis of output
  • addition of a visual component to sample through an add-on feature for graphing?

Documentation

  • complete and automated API docs of all public interfaces
  • for both python and C++ code
  • from scratch tutorial (perhaps using a publicly available data stream?) on getting data into NuPIC through the OPF, getting predictions out, swarming over the data, etc.
  • from scratch tutorial of the same process without using the OPF (?)

Concrete API with docs

  • Firm V1.0 API surrounding "core" of NuPIC, which will not change for a long time

Easy install, easy build

  • users can install NuPIC in their runtime environment
  • users can build NuPIC in their development environment

Separation of concerns (core algos vs encoders vs classifiers vs OPF, etc.)

  • compartmentalization of key areas of NuPIC
  • users can easily see the different parts of NuPIC by browsing the file system

Transportability

C++ Core

  • language bindings for major runtimes
    • ruby, jvm, python, .NET

Common Serialization Format

  • allowing model states to be stored, transported, and restarted

Binary Distributions

  • For at least Debian Linux, Red Hat Linux, and Mac OS X

Hierarchy

Temporal Pooling

Concrete Hierarchy API with Docs