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

remove automatic complete #16

Open
hantek opened this issue Aug 31, 2015 · 1 comment
Open

remove automatic complete #16

hantek opened this issue Aug 31, 2015 · 1 comment

Comments

@hantek
Copy link
Owner

hantek commented Aug 31, 2015

the _init_complete() method is causing serious problems, do have it removed.

Consider to use a build() method which is required to be called after the model is defined. The method can recursively call a method in each individual layer class.

Each method in a class should be inherited independently, i.e., there should be no super() in any method of a subclass which is calling a parent class method with a different name. That makes things cleaner, less likely to hide weird bugs.

@hantek
Copy link
Owner Author

hantek commented Aug 31, 2015

The build() method should go through all computational nodes in the forward pass, and write intermediate variables in an appropriate place, thus ensures all nodes has a callable name at the script level.

The backward pass is related to how you train the model, so the corresponding training class should take care of the backward pass.

Also, if there is dropout, batch normalization, etc. added in the network, which changes the structure of the network, it should be written before the build() method.

(If needed, consider spliting nonlinearities and matrix product in a layer object.)

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

1 participant