I'm on my way to writing a 'hello world' equivalent for nupic. I decided to
work with a flat spatial pooler since it has no topology. I was able to
send in an input vector and get the list of active columns. The source code
is hosted here :

https://github.com/lonesword/nupichelloworld/blob/master/helloworld.py

I was under the assumption that similar inputs to the spatial pooler
results in similar SDRs. That is, if I give the same input twice, it is
expected to produce the same SDRs.

However, sending the same input vector to the compute() function returns a
different set of active columns every time. I'm pasting the code snippet
here :

for i in range(10):
  example.flat.compute(testinput,True,active)
  for i in range(4096):
    if active[i]!=0:
      print i,
  print " "
  active[0:]=0

flat is an object of FlatSpatialPooler,
testinput is the input array,
active is the active list of columns.

I got a different set of active columns for each iteration. Why is this so?
I'm feeding the pooler the same input vector each time.
_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org

Reply via email to