Kevin, most text editors allow an option to automatically insert 2 or
4 spaces when you press the tab key. Look through the settings of your
text editor or IDE.
---------
Matt Taylor
OS Community Flag-Bearer
Numenta


On Mon, Feb 24, 2014 at 7:51 PM, Kevin Martin
<[email protected]> wrote:
> I saw a similar guide for C but not for python, so I just assumed that it
> didn't exist. Thanks for pointing this out. I want a clarification about the
> indentation. I'm so used to using tab to indent in python. I wonder if its
> ok if I keep using tabs instead of the specified 2 spaces.
>
>
> On Tue, Feb 25, 2014 at 4:52 AM, Matthew Taylor <[email protected]> wrote:
>>
>> Hey Kevin,
>>
>> Thanks so much for taking this task on. I like the direction this
>> tutorial is going. Once complete, we should be able to create a nice
>> reference document to describe it. You should take a look at our
>> python coding conventions[1], as we'll need to make sure all code
>> within nupic adheres to the same standard. I'd eventually like to get
>> your tutorial into the nupic repo, so reviewing the python style guide
>> and running pylint now will probably save you some trouble later. :)
>>
>>
>> [1] https://github.com/numenta/nupic/wiki/Python-Style-Guide
>> ---------
>> Matt Taylor
>> OS Community Flag-Bearer
>> Numenta
>>
>>
>> On Mon, Feb 24, 2014 at 2:35 PM, Subutai Ahmad <[email protected]>
>> wrote:
>> >
>> > It is great to see this taking shape. I've left comments in the issue
>> > that
>> > is tracking this work:
>> >
>> > https://github.com/numenta/nupic/issues/654
>> >
>> > Note that we are actually in the process of removing FlatSpatialPooler
>> > (see
>> > https://github.com/numenta/nupic/issues/627). The high tier stuff was a
>> > hack
>> > for tiny datasets, and we don't seem to need it anymore.
>> >
>> > --Subutai
>> >
>> >
>> > On Mon, Feb 24, 2014 at 11:05 AM, Scott Purdy <[email protected]> wrote:
>> >>
>> >> Thanks for raising these issues. I understand how that could be
>> >> confusing
>> >> and part of it is why we have separated the FlatSpatialPooler from the
>> >> more
>> >> general SpatialPooler class.
>> >>
>> >> Hopefully Subutai can chime in since he understands high tier much
>> >> better
>> >> than me but here are my suspicions for the behavior:
>> >>
>> >> 1. The FlatSpatialPooler implementation includes high tier which causes
>> >> it
>> >> to try to memorize the initial patterns it sees. It will try to
>> >> uniquely
>> >> represent the initial patterns. Since the first set of columns hasn't
>> >> had
>> >> time to adjust to connect to all of the active bits in its potential
>> >> pool,
>> >> there is an opportunity for other columns with high initial boost (part
>> >> of
>> >> high tier) to win instead. This is my suspicion but not 100% sure.
>> >>
>> >> High tier solves some problems but causes others. When we were
>> >> designing
>> >> the new SP implementations we had an explicit goal of separating it
>> >> from the
>> >> general SpatialPooler class.
>> >>
>> >> 2. The FlatSpatialPooler has an optimized path for no topology. This
>> >> could
>> >> result in a noticeable difference in speed, even when you specify no
>> >> topology in the SpatialPooler. We could have included the optimization
>> >> in
>> >> the regular SpatialPooler class but decided that special-casing made
>> >> more
>> >> sense in a subclass. We wanted to keep the code really simple and clean
>> >> in
>> >> the generic version.
>> >>
>> >>
>> >> On Sun, Feb 23, 2014 at 11:28 PM, Kevin Martin
>> >> <[email protected]> wrote:
>> >>>
>> >>> Tinkering a bit, I came to notice that if I used the SpatialPooler
>> >>> class
>> >>> instead of FlatSpatialPooler, I get the same set of active columns for
>> >>> the
>> >>> same input. But it takes much longer to get the results and the 'busy'
>> >>> light
>> >>> of my computer stays on for a really long time. From what I read, I
>> >>> had
>> >>> assumed that the only real difference between the normal spatial
>> >>> pooler and
>> >>> the flat spatial pooler was the lack of topology. But since both of
>> >>> them
>> >>> returned different results I think FSP is minimalistic in much more
>> >>> ways
>> >>> (the SP returns the expected result, while the FSP returns a new
>> >>> result for
>> >>> the same input vector which was not what I had expected). But I'd
>> >>> still like
>> >>> to know why the Flat SP returned different set of active columns for
>> >>> the
>> >>> same input.
>> >>>
>> >>> On Sun, Feb 23, 2014 at 11:19 AM, Kevin Martin
>> >>> <[email protected]> wrote:
>> >>>>
>> >>>> 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
>> >>>
>> >>
>> >>
>> >> _______________________________________________
>> >> nupic mailing list
>> >> [email protected]
>> >> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>> >>
>> >
>> >
>> > _______________________________________________
>> > nupic mailing list
>> > [email protected]
>> > http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>> >
>>
>> _______________________________________________
>> nupic mailing list
>> [email protected]
>> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>
>
>
> _______________________________________________
> nupic mailing list
> [email protected]
> http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
>

_______________________________________________
nupic mailing list
[email protected]
http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org

Reply via email to