You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The motivation is three-fold:
(a) In theory it should be easier for users to find relevant ops
(b) Ease of documentation (autogen docs by section)
(c) Maintenance - a lot of the op methods could be moved to other classes, making SameDiff.java more managable (it's 11,500 lines so far)
As for categories, here's a start:
nn (neural network)
math
loss
random
image? (We do have stuff like resizeBilinear)
linalg?
Some open questions:
What should be on the "main" SameDiff namespace vs. the sub-categories?
Should we have more than 1 level? Or allow things like sd.nn.rnn.LSTM(...)?
Should there be similar organization for SDVariable methods?
What categories should we use?
If this change is to be implemented, it should happen before the next release (and sooner if possible).
The text was updated successfully, but these errors were encountered:
Something I've been considering doing recently is reorganizing the SameDiff class more along the lines of TF and PyTorch.
Currently all of the "op creator" methods are defined on the SameDiff class itself:
https://github.com/deeplearning4j/deeplearning4j/blob/master/nd4j/nd4j-backends/nd4j-api-parent/nd4j-api/src/main/java/org/nd4j/autodiff/samediff/SameDiff.java
Instead, we would have something like:
The motivation is three-fold:
(a) In theory it should be easier for users to find relevant ops
(b) Ease of documentation (autogen docs by section)
(c) Maintenance - a lot of the op methods could be moved to other classes, making SameDiff.java more managable (it's 11,500 lines so far)
As for categories, here's a start:
nn
(neural network)math
loss
random
image
? (We do have stuff like resizeBilinear)linalg
?Some open questions:
sd.nn.rnn.LSTM(...)
?If this change is to be implemented, it should happen before the next release (and sooner if possible).
The text was updated successfully, but these errors were encountered: