Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

The RandomDistributedScalarEncoder needs ability to set numBuckets #443

Open
cogmission opened this issue Jul 25, 2016 · 3 comments
Open

Comments

@cogmission
Copy link
Collaborator

numBuckets needs an official Parameter in Parameters.java and it needs to be set by the Network API upon initialization.

Care must be taken to guarantee that the resolution is properly calculated and that the param is tested when absent as well.

@rhyolight
Copy link
Member

So will Parameters have access to the input data to calculate the min / max values required to calculate the resolution?

@cogmission
Copy link
Collaborator Author

cogmission commented Jul 25, 2016

I don't believe this is necessary. Alex mentioned that they are "auto-configured" from the numBuckets parameter... as seen here and here (numBuckets == maxBuckets, deeper in the code)

I'm not averse to having encoder params at all. We do it for the DateEncoder (due to it's need for varied configuration), so we can do it for others as well?

@cogmission
Copy link
Collaborator Author

cogmission commented Jul 25, 2016

For instance, the NAB assumes that the numBuckets parameter is sufficient and doesn't specify resolution specifically, however HTM.Java doesn't have this so it thinks the resolution parameter is missing and throws java.lang.AnnoyingAsHellException :-P

My fix for this was to add resolution to the NAB JSON config file, but if we were going to do it the NuPIC way, we would allow the numBuckets parameter to be picked up and usher in the configuration.

# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants