Hi Mika,

New version of NuPIC Studio (1.0.3) was released, now I can explain your
question while you check/test it using NuPIC Studio.

Before this, I ask to you download/update NuPIC Studio on your machine,
execute it, and then open the "Squares" project (what was slightly changed
in this new version).

Once you open the "Squares" project, click on "LeftMirror" sensor. The
first thing you should note is that rather you use a .TXT file to provide
inputs to the encoder now you should use .CSV file (which is the default
file format of NuPIC).

A CSV file should have 3 lines for the header while remaining lines are for
the records themselves. So the content of "squares_left.csv" is:

Square
sdr
T
000000000000000000000000000000000110000000000000011000000000000000000000000000000000000000000000

000000000000000000000000000000000000110000000000000011000000000000000000000000000000000000000000

000000000000000000000000000000000000000110000000000000011000000000000000000000000000000000000000

000000000000000000000000000000000000000000110000000000000011000000000000000000000000000000000000

000000000000000000000000000000000000000000000110000000000000011000000000000000000000000000000000

where the first line is the field name, the 2nd is the data type, the 3rd
is its special attribute, and the 4th to 8th are the records (detailed
explanation here:
https://github.com/numenta/nupic/blob/master/nupic/data/file_record_stream.py#L129
).

Each record represent a image of square with 2x2 dimensions at a given time
T. How NuPIC Studio understand that it is square?

In the case of the first record, as the "LeftMirror" sensor has 16x6
dimensions, it will be converted to:

0000000000000000
0000000000000000
0110000000000000
0110000000000000
0000000000000000
0000000000000000

This way, you are able to put a full SDR or map of bits into a single
record without concern with break lines for each line in the matrix.. ;-)

Let me know any dificulties that you can find with CSV files..

Best wishes, David

On 27 October 2014 at 13:35, Mika Schiller <[email protected]> wrote:

> Sounds great David. Thanks for all your hard work on this. Nupic Studio is
> already becoming an important part of my toolkit.  I'm really looking
> forward to seeing where it all goes. Please also don't forget to update the
> wiki with the new encoder instructions.
>
> Mika
>
> On Mon, Oct 27, 2014 at 11:08 AM, David Ragazzi <[email protected]>
> wrote:
>
>> Hi Mika,
>>
>> I'm implementing several changes in order to NuPIC Studio generates code
>> that consume NuPIC Network API. This means that users will have to use
>> encoders to handle HTM inputs (arrays of 0's and 1's like "Squares")
>> because RecordSensor requires this. In this case, an input like:
>>
>> 00011000
>>
>> shoud be represented by its active bits indexes where an encoder called
>> BitMapEncoder (
>> https://github.com/numenta/nupic/blob/master/nupic/encoders/bitmaparray.py)
>> will have read something like:
>>
>> 3, 4
>>
>> 00011000
>> ---34---
>>
>> This is the default way that NuPIC handle pure binary arrays. Although it
>> is less intuitive to read, it is perfomance saver.
>>
>> I believe until this weekend, this work is done.
>>
>> David
>>
>>
>>
>>
>>
>>
>> On 23 October 2014 19:13, Mika Schiller <[email protected]> wrote:
>>
>>> Yes, I am able to run  "Squares" with no problem. Attached is the text
>>> file I am using.
>>>
>>> On Thu, Oct 23, 2014 at 10:31 AM, David Ragazzi <[email protected]>
>>> wrote:
>>>
>>>> Hi Mika,
>>>>
>>>> Have you been successful on run the "Squares" project? If not, probably
>>>> this issue should be specific environment, if yes, please give me your
>>>> input file (maybe this should be on a invalid format due to CR and CRLF
>>>> problems).
>>>>
>>>> David
>>>>
>>>> On 23 October 2014 02:26, Mika Schiller <[email protected]> wrote:
>>>>
>>>>> David,
>>>>>
>>>>> I'm trying to get Nupic studio to run on a super simple project I made
>>>>> and it's failing to initialize. I've attached a basic 16x6 bit sensor to a
>>>>> region.
>>>>>
>>>>> 0000000000000000
>>>>> 0000000000000000
>>>>> 0000000000000110
>>>>> 0000000000000110
>>>>> 0000000000000000
>>>>> 0000000000000000
>>>>>
>>>>>
>>>>> Attached to this email are the spatial and temporal parameters of the
>>>>> region as well as those of the sensor. When I try to run it, it goes into
>>>>> perpetual load mode and fails to display the cells and sensor in the
>>>>> simulator. And it prints the following message to the terminal:
>>>>>
>>>>> Python[957:d07] modalSession has been exited prematurely - check for a
>>>>> reentrant call to endModalSession:
>>>>>
>>>>> Any idea what might be going on here?
>>>>>
>>>>> Thnx!
>>>>>
>>>>> On Tue, Oct 14, 2014 at 10:39 PM, David Ragazzi <
>>>>> [email protected]> wrote:
>>>>>
>>>>>> Hi guys,
>>>>>>
>>>>>> Finally I finished the encoders integration to NuPIC Studio!! Now you
>>>>>> can create your projects using Numenta or your own encoders!
>>>>>>
>>>>>> To getting started, just check "counting" example to check how the
>>>>>> famous (Numenta) Scalar Encoder works: Try change "counting_numbers.txt"
>>>>>> input file with your own numbers and change the range by set the 
>>>>>> parameters
>>>>>> of this encoder. Helpful link:
>>>>>> https://github.com/numenta/nupic/wiki/Encoders
>>>>>>
>>>>>> Another good news: The NuPIC Studio wiki tutorial also is done! Just
>>>>>> check it:
>>>>>>
>>>>>> https://github.com/nupic-community/nupic.studio/wiki
>>>>>>
>>>>>> Actually it was done some weeks ago, but I delayed its introduction
>>>>>> to community because I'd like that encoders integration also was ok.
>>>>>> Special thanks to David Ray and Fergal Byrne to review the wiki tutorial.
>>>>>>
>>>>>> Some other improvements:
>>>>>> - Simulation was optimized: now it's faster because shows only cells
>>>>>> with non-inactive state.
>>>>>> - Refresh controls while run multiple steps.
>>>>>> - Precision rate of the network.
>>>>>> - Solved "Save Project" bug reported by Mike
>>>>>>
>>>>>> To get the new version with all these improvements, just use:
>>>>>>
>>>>>> (sudo) pip install nustudio
>>>>>>
>>>>>> The next weeks I'll concentrate my efforts in help all you to get
>>>>>> started to NuPIC Studio including answer doubts, solve any bugs and 
>>>>>> improve
>>>>>> documentation as well as finish the HotGym port to NuPIC Studio in order 
>>>>>> to
>>>>>> Matt make the video tutorial. So please don't hesitate on give me 
>>>>>> feedback!
>>>>>>
>>>>>> --
>>>>>> David Ragazzi
>>>>>> MSc in Sofware Engineer (University of Liverpool)
>>>>>> OS Community Commiter at Numenta.org
>>>>>> --
>>>>>> "I think James Connolly, the Irish revolutionary, is right when he
>>>>>> says that the only prophets are those who make their future. So we're
>>>>>> not anticipating, we're working for it."
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> David Ragazzi
>>>> MSc in Sofware Engineer (University of Liverpool)
>>>> OS Community Commiter at Numenta.org
>>>> --
>>>> "I think James Connolly, the Irish revolutionary, is right when he says 
>>>> that
>>>> the only prophets are those who make their future. So we're not
>>>> anticipating, we're working for it."
>>>>
>>>
>>>
>>
>>
>> --
>> David Ragazzi
>> MSc in Sofware Engineer (University of Liverpool)
>> OS Community Commiter at Numenta.org
>> --
>> "I think James Connolly, the Irish revolutionary, is right when he says that
>> the only prophets are those who make their future. So we're not
>> anticipating, we're working for it."
>>
>
>


-- 
David Ragazzi
MSc in Sofware Engineer (University of Liverpool)
OS Community Commiter at Numenta.org
--
"I think James Connolly, the Irish revolutionary, is right when he says that
the only prophets are those who make their future. So we're not anticipating
, we're working for it."

Reply via email to