Hi, I can't speak to questions concerning the OPF, but I am familiar with the MultiEncoder in general.
If you think of the MultiEncoder like an aggregate container, which is the parent of other encoders - you will kind of understand what the MultiEncoder is. If functions by providing a single place to call "encode()" from, and it then delegates the encoding of multiple fields and multiple field types to the "child" encoders it contains. For each field in a csv (comma separated values) file, an indicator as to the type of the field is specified. Each field type then corresponds with a child encoder contained within the MultiEncoder. The ME then encodes each field type by iterating over all the fields and passing each field to the child encoder in charge of encoding that portion of the CSV line. For instance: Given a line in a CSV file such as: "2015-09-17, 0.007, License to kill" There would be 3 child encoders within the MultiEncoder: DateEncoder, ScalarEncoder or RDSE, CategoryEncoder or SDRCategoryEncoder. In the loop, the "child" encoder is handed the field and the portion of the output SDR that it is in charge of encoding. So if the output SDR is configured to be 15 bits wide and each encoder was in charge of 5 bits, the DateEncoder would be in charge of bit 0-4, the ScalarEncoder would be in charge of bits 5-9, and the CategoryEncoder would be in charge of 10-14 - adding up to 15 bits in total. Each child encoder's encoding would be concatenated together at the end of the method, then returned as an entire 15 bit encoding... Does that help? Cheers, David On Thu, Sep 17, 2015 at 11:32 AM, Matthew Taylor <[email protected]> wrote: > Hello NuPIC, > > I've seen several questions and references to NuPIC's MultiEncoder > recently that I haven't been able to answer or comment on, because > I've never used it. So this question is for anyone who's actually used > a MultiEncoder for something practical. > > What is the typical use-case for a MultiEncoder? Is this something for > experimentation, or is there a practical reason we might use it for > combining real-world input data? I see that it is used in some of the > Network API examples in "examples/network", but can it also be used in > the OPF? > > Thanks in advance, > --------- > Matt Taylor > OS Community Flag-Bearer > Numenta > > -- *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
