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

Make *Node Great Again #164

Open
1 of 6 tasks
chewxy opened this issue Sep 26, 2017 · 0 comments
Open
1 of 6 tasks

Make *Node Great Again #164

chewxy opened this issue Sep 26, 2017 · 0 comments
Assignees
Labels
Milestone

Comments

@chewxy
Copy link
Member

chewxy commented Sep 26, 2017

The earliest design had *Node implement tensor.Tensor. Time to make that happen again. h/t @docmerlin for suggesting that

So the general gist is this:

  1. Create a Tensor interface that mirrors a subset of tensor.Tensor (without the private methods).
  2. *Node implements Tensor
  3. Create a SymbolicEngine method that implements tensor.Engine
  4. Write generator to generate methods in operations.go and other operations. The methods will change from: func Add(a, b *Node) (*Node, error) to func Add(a, b Tensor) (Tensor, error) . This allows for passing in tensor.Tensor in those, which will make the API a LOT simpler.
  5. Simplify the data structure for *Node to remove pointers to prevent GC from chasing them
  6. Share tensor.Shape object between tensor.Tensor and *Node #163
@chewxy chewxy self-assigned this Sep 26, 2017
@chewxy chewxy added this to the v0.10.0 milestone Sep 26, 2017
chewxy added a commit that referenced this issue Dec 10, 2017
@chewxy chewxy added the ux label May 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant