Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

How about making Agent class? #167

Closed
KyungsuKim42 opened this issue Dec 4, 2018 · 1 comment
Closed

How about making Agent class? #167

KyungsuKim42 opened this issue Dec 4, 2018 · 1 comment

Comments

@KyungsuKim42
Copy link
Contributor

After reading and writing codes of BindsNET, I felt the current structure of the project is a little bit nonintuitive. Therefore I'm suggesting introducing new class called Agent which contains network, encoding, and action_function and maybe more. I think this would help us lot on organizing codes based on concrete conceptual model.

For example, related to we discussed in #151, action_function and network should share the same dt. Until now, this should have been synchronized manually. If we introduce Agent class, this issue is resolve naturally by sharing the Agent's dt value.

Actually I'm already working on it, and I expect it can be done without any serious additional coding. But it requires some changes in other modules. For example, most of the code in Pipeline's step() function would moved into Agent's step() function. And implementation of action function should also be changed a little.

I want to hear your opinion on this idea. Do you think introducing Agent class fits well with the purpose of BindsNET?

@djsaunde
Copy link
Collaborator

djsaunde commented Dec 4, 2018

Hi @godelicbach,

Why not just pass dt as an argument to the action_function? The Pipeline object already has a Network, encoding, and action_function.

You can implement this if you'd like, but I'm not sure we want to include it in BindsNET. Feel free to use it for your own experimentation, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants