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

Connections created by splitter and passthrough removal do not respect seeds #210

Open
arvoelke opened this issue Mar 28, 2019 · 1 comment
Assignees
Labels

Comments

@arvoelke
Copy link
Contributor

May post code later to demonstrate. But network seeding happens before splitting / passthrough removal, and all of the connections it creates do not set any seeds. An example of how this can be a problem: a connection through a passthrough node may use a seed to fix the eval points + decoders. Removing that connection and replacing it with an unseeded connection means they are no longer fixed.

@arvoelke arvoelke added the bug label Mar 28, 2019
@arvoelke
Copy link
Contributor Author

Related note to self: passthrough removal is also non-deterministic because it returns a set (unordered) and then loops through that to add the connections.

@arvoelke arvoelke self-assigned this Mar 29, 2019
arvoelke added a commit that referenced this issue Apr 1, 2019
Outstanding issues for True include: #210, #212, #213
hunse pushed a commit that referenced this issue Apr 3, 2019
Most of the work done by the splitter is now done in the builder.
This should give more clarity and control over the mapping between
pre-build and post-build objects. The `SplitterDirective` class
takes on the organizational tasks of the old `Splitter`, giving
directives to the builder about what should be on- or off-chip.

Also:
- Add unit tests for splitter refactoring.
- Raise `BuildError` if learning objects are on_chip. Fixes #208
  and #209.
- Pass no decoder cache to sub-models. Decoder cache wasn't working
  due to lack of context manager which is normally constructed by
  the top-level network build. Fixes #207.
- Various improvements to passthrough removal, including not removing
  useful passthrough nodes.
  Outstanding issues include: #210, #212, #213
- Handle sliced probes. Closes #205.
- Check that splitter handles sliced probes. Closes #206.
- Test that splitter does not mutate network. Closes #211.
hunse pushed a commit that referenced this issue Apr 3, 2019
Most of the work done by the splitter is now done in the builder.
This should give more clarity and control over the mapping between
pre-build and post-build objects. The `SplitterDirective` class
takes on the organizational tasks of the old `Splitter`, giving
directives to the builder about what should be on- or off-chip.

Also:
- Add unit tests for splitter refactoring.
- Raise `BuildError` if learning objects are on_chip. Fixes #208
  and #209.
- Pass no decoder cache to sub-models. Decoder cache wasn't working
  due to lack of context manager which is normally constructed by
  the top-level network build. Fixes #207.
- Various improvements to passthrough removal, including not removing
  useful passthrough nodes.
  Outstanding issues include: #210, #212, #213
- Handle sliced probes. Closes #205.
- Check that splitter handles sliced probes. Closes #206.
- Test that splitter does not mutate network. Closes #211.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

1 participant