Dinesh, First of all when you say NuPIC, it helps to be clear about what in fact that is. NuPIC had a list of components and can be accessed and utilized from a few different levels of abstraction. There is the OPF (Online Prediction Framework) which is the "highest" level with which to work. Then there is the Network API, which allows one to combine components with specific respect for the job one wants to get done. Then there is working with the individual components which is the most fine grained and requires the most technical know-how (most do not deal with this level).
NuPIC is a framework that in the end delivers a prediction and a confidence level of that prediction, given a *stream* of input (or sequence of inputs). It consists of various lower level components. 1. A module that allows Swarming (an algorithmic approach to arriving at (converging on) the best configuration parameters to use with NuPIC. (I believe it hasn't yet been pulled out so that it can be used independent of the OPF, but that is a current effort - I may be wrong or not up to date) 2. Encoders. Take input of various forms and normalize it across all possible inputs of a given type to produce a representation which is suitable for input into other NuPIC components. This input adheres to a few different constraints. Some of these constraints are configurable such as how many bits to use for a representation, how many bits within that are to be "on" bits etc. 3. Spatial Pooler. This takes in an encoded bit vector and outputs an SDR (Sparse Distributed Representation). This SDR is guaranteed to have certain properties. It also represents other aspects being modeled in a biological way. This is namely the cortical columns which contain neurons. SDR's have certain properties such as consistency, resistance to noise (slight differences in the resultant bit vectors don't have an enormous relative effect on the semantics) etc. 4. Temporal Memory. This, in most cases takes an SDR processed by a Spatial Pooler - but doesn't have to in all cases depending on the task being accomplished. This provides the distinctions surrounding prediction and sequential learning. This also outputs an SDR. 5. Classifier. This is used to provide statistical correlation of a prediction to the input that caused it. It is in most cases added to to the final layer of processing (but doesn't always have to be used). The site at Numenta.org has wikis and links to videos[1][2][3] which explain and add knowledge about each of these components. This is just a rough overview, it would help to peruse these and then come back with more questions which are always welcome :) Hope this high level overview helps! Welcome aboard! David 1. http://www.numenta.org 2. https://github.com/numenta 3. https://github.com/numenta/nupic/wiki On Mon, Feb 2, 2015 at 1:15 AM, Dinesh Deshmukh <[email protected]> wrote: > I would like to know in depth about different modules of nupic.GIve me > some suggestions of any links that explains how nupic code flows. > I know abstract view of what htm is but i want to understand at a > programming level. > > What makes nupic about 600MB size? I mean what kind of features it has? > > Thank u all. > -- *We find it hard to hear what another is saying because of how loudly "who one is", speaks...*
