Hi Carsten, I need to have a powow with the Numenta engineers, if that tokens.txt represents actual input... If it does, then I need to discuss with them the implementation and purpose because that is not how the code looks in the CategoryEncoderTest that I ported.
Please have patience and I will resolve this and possibly correct the implementation of the code... Thanks for bringing this to my attention! :-) @rhyolight @subutai I need to discuss this with you offline? Cheers, David On Mon, Oct 19, 2015 at 9:11 AM, cogmission (David Ray) < [email protected]> wrote: > Hi Carsten, > > This is a two-parter... > > I can help with the first, and maybe @rhyolight can help with the second. > > RE: The first problem (IllegalArgumentException) can you write back with > your whole stack trace? > > We'll take it from there... > > Cheers, > David > > On Mon, Oct 19, 2015 at 8:15 AM, Carsten Schnober < > [email protected]> wrote: > >> Hi, >> To get started with HTM(.java), I am trying to re-implement the category >> prediction example from the Python version in Java. >> However, I am trying to figure out the exact model parameters as >> specified here: >> >> https://github.com/numenta/nupic/blob/master/examples/prediction/category_prediction/run.py >> >> At first, I am trying to decode the Python example in as much detail as >> I am able to. Please correct me where I am wrong: >> >> The model: >> - CLA >> - One region, one layer with a spatial pooler and a temporal memory. >> >> Sensor: >> - read the token list (produced beforehand, one token per line, no >> stopwords, sequential order). >> >> Hence, what I am aiming for in the Java implementation (pseudo-code): >> - Create a CLA model: `Network.create("CLA", parameters)` >> - Create a region: >> `model.add(Network.createRegion("CLAClassifierRegion"))` >> - Create a layer: `region.add(Network.createLayer("Layer 2/3", parameters) >> .add(new SpatialPooler()) >> .add(new TemporalMemory())` >> - Add a sensor to the layer: >> `layer.add(Sensor.create(FileSensor::create, >> SensorParams.create(Keys::path, "", tokensFile.getAbsolutePath())))));` >> >> >> The first issue I run into is the sensor which causes a >> IllegalArgumentException: >> Exception in thread "main" java.lang.IllegalArgumentException: Cannot >> initialize this Sensor's MultiEncoder with a null settings >> >> I suspect this might have to do with the FileSensor requiring a CSV >> file, doesn't it? The tokens with, however, is one token per line. I was >> hoping that this somehow corresponds to a CSV with a single column though. >> >> Furthermore, I am not sure how to train and run the network in the >> following. I've created a gist with my initial start, perhaps you could >> comment on that: https://gist.github.com/carschno/7f3828c2ea0c1a2b3be9 >> >> Thanks! >> Carsten >> >> >> >> -- >> Carsten Schnober >> Doctoral Researcher >> Ubiquitous Knowledge Processing (UKP) Lab >> FB 20 / Computer Science Department >> Technische Universität Darmstadt >> Hochschulstr. 10, D-64289 Darmstadt, Germany >> phone [+49] (0)6151 16-6227, fax -5455, room S2/02/B111 >> [email protected] >> www.ukp.tu-darmstadt.de >> >> Web Research at TU Darmstadt (WeRC): www.werc.tu-darmstadt.de >> GRK 1994: Adaptive Preparation of Information from Heterogeneous Sources >> (AIPHES): www.aiphes.tu-darmstadt.de >> PhD program: Knowledge Discovery in Scientific Literature (KDSL) >> www.kdsl.tu-darmstadt.de >> >> > > > -- > *With kind regards,* > > David Ray > Java Solutions Architect > > *Cortical.io <http://cortical.io/>* > Sponsor of: HTM.java <https://github.com/numenta/htm.java> > > [email protected] > http://cortical.io > -- *With kind regards,* David Ray Java Solutions Architect *Cortical.io <http://cortical.io/>* Sponsor of: HTM.java <https://github.com/numenta/htm.java> [email protected] http://cortical.io
