Hello List Members, Nicholas is asking me some questions that I don't have time to answer at the moment, so I thought I would forward them on to the list to see if anyone wants to take a shot at it. Better yet, since these are probably common newbie questions, how about expanding our Getting Started<https://github.com/numenta/nupic/wiki/Getting-Started>wiki page to include a section describing the hotgym example better? Please read below if interested.
Thanks, Matt ---------- Forwarded message ---------- From: Nicholas Peterson <[email protected]> Date: Mon, Sep 30, 2013 at 9:40 PM Subject: Re: NuPic: cannot find c++ examples To: Matthew Taylor <[email protected]> Dear Mr Taylor, Thank you for taking the time to help explain a little more. The links you provided were things I had already seen before, granted the first time I visited those pages I was looking for C++ information, perhaps I will glean something from them, looking at them in a new frame of mind. I did run hotgym.py per the instructions of the readme. The problem I am having is that I do not understand the output. I do not know for certain what the input is. Nor do know what output is expected. In short I haven't the foggiest idea as to what hotgym is doing. Its action is not very obvious by reading the name. Does hotgym attempt to predict changes in temperature in a gymnasium? I'm sure the program has nothing to do with a incredibly good looking man named Jim. The discription given in hotgym.py is: """A simple client to create a CLA model for hotgym.""" This doesn't really tell me what hotgym is. So I go and check the readme inside of /examples/opf/clients and it gives this as a discription: "* __hotgym__ - This is a custom client that performs the same experiment as `examples/opf/experiments/multistep/hotgym/`." Again this doesn't really offer a definition, it just sends me looking in another direction. So then I go to examples/opf/experiments/multistep/hotgym/ hoping for insight. I find a lot of files with names related to permutations, so I assume hotgym has something to do with permutations. The file named description.py doesn't mention hotgym in any comments. Being new to Python and being unfamiliar with its syntax, basic structure, and typical programming practices, it is quite difficult to even partially visualize what is going on, given that I don't know the premise. Am I wrong in my assessment? I will concur that I am utterly confused. My questions about hotgym are: What are the inputs? What does the output mean? What are the expected outputs? Why is it called hotgym? I have one more question not related to hotgym. When I ran run_tests.sh I got one failure: tests/unit/py2/nupic/encoders/nonuniformscalar_test.py:38: NonUniformScalarEncoderTest.testNonUniformScalarEncoder FAILED What must I do to fix that? As for the hackathon, I would very much like to attend, alas I live in the Midwest and my financial status closely resembles that of the stereotypical middle class college student, which makes traveling unfeasible. Thank you again for your time. Sincerely, Nicholas Peterson On Sun, Sep 29, 2013 at 9:30 PM, Matthew Taylor <[email protected]> wrote: > Sorry about the brief message last time. I was on my phone. I'm adding > Scott Purdy to this conversation, his comments might be more > insightful than mine. My comments are below. > > On Sun, Sep 29, 2013 at 3:02 PM, Nicholas Peterson > <[email protected]> wrote: > > Dear Mr. Taylor, > > > > Thank you, for your prompt response. I do have a few more questions if > you > > don't mind me asking. Does Numenta plan on releasing a C++ client in the > > future? I noticed that what appears to be the core of NuPic was written > in > > C++. With that in mind, your answer sort of thew me off for a loop, I > > suppose I just assumed that NuPic would be just like any other library > where > > you include the appropriate header files, use the given objects, and make > > the right function calls and everything works fine. I don't know all > that > > much about Python so please correct me if I am wrong, but this thought > did > > enter my mind: "Isn't it more complicated to get Python(interpreted > lang) to > > work with C++(compiled lang) than to just use C++ for everything?" Is > there > > some part of NuPic that relies on python to the extent that without it, > the > > core of the system, for lack of a better term, would not be functional? > > The scientific community focused on research in areas other than > computer science are historically more receptive to python than C++, > and because of the strong root within neuroscience of the NuPIC > project, it made sense to provide the python client. It has also > allowed us to keep the performance-critical components of the > algorithm within C++ while putting more flexible components in python > where it can be more easily modified for experiments. > > We do have a plan to have a full C++ implementation in place at some > point in the future, but this is mainly in order for us to provide > language bindings for different platforms and environments. > https://issues.numenta.org/browse/NPC-290 > > > I am not against using Python, but having never used it before it does > make > > it all the more difficult when also trying to learn and use HTM concepts > for > > the first time. > > I would venture to say that python is a much more beginner-friendly > language than C++, and we want to make it as accessible as possible > for researchers, programmers, and engineers from multiple disciplines. > > > I am having trouble finding useful beginner information. I looked under > > examples/bindings and example/tp, the .py files did have some commenting > but > > there are some things that where not explained such as what "numpy" is > (you > > can't live without it apparently) or what it does. > > Improving the documentation and on-boarding new interested parties is > always important to us. We still have a long way to go. Here are some > links you might find useful: > > https://github.com/numenta/nupic/wiki > https://github.com/numenta/nupic/wiki/Getting-Started > https://github.com/numenta/nupic/wiki/Online-Prediction-Framework > > Have you attempted to run the example "hotgym" as stated at the end of > the README? > > https://github.com/numenta/nupic#try-it-out > > This is a good place to experiment. There are other OPF client code > examples available at > https://github.com/numenta/nupic/tree/master/examples/opf/clients. > > > I have checked Numenta's YouTube channel and haven't found anything that > > explains both htm concepts and NuPic functions. Is something like that in > > the works? > > Actually, yes. At our upcoming hackathon, or VP of Engineering, > Subutai Ahmad, will be doing this exact thing. I'll be recording it > and putting on our youtube channel soon afterwards: > http://numenta.org/events.html#cla_deep_dive > > > I hope i'm not out of line or sounding demanding, but I'm just so excited > > about the technology you fine folks are working on. I've watched some of > Mr. > > Hawkins lectures 3 or 4 times, read the white paper, then I found NuPic. > It > > was like Christmas had come early this year. I really want to be a part > of > > this somehow. Please excuse me, I need to finish mopping up my soul that > > just spilled out. > > :) No problem at all. I hope you can get involved and become > productive. The more you participate and ask questions on the mailing > list, the more you will absorb. There are a lot of smart people > answering anyone's questions there. You might also think about coming > to our next hackathon if you are in the Bay Area: > > http://www.meetup.com/numenta/events/136809782/ > > Regards, > --------- > Matt Taylor > OS Community Flag-Bearer > Numenta >
_______________________________________________ nupic mailing list [email protected] http://lists.numenta.org/mailman/listinfo/nupic_lists.numenta.org
