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

Dag construction v2 #146

Merged
merged 40 commits into from
Jun 24, 2015
Merged

Dag construction v2 #146

merged 40 commits into from
Jun 24, 2015

Conversation

tomerk
Copy link
Contributor

@tomerk tomerk commented Jun 14, 2015

@etrain @shivaram Not yet ready for merging (and plenty of cleanup to be done), but feel free to start taking a look

tomerk added 30 commits June 13, 2015 19:58
…e to pipeline, and added transformer methods so transformers can be chained w/o fit
@tomerk
Copy link
Contributor Author

tomerk commented Jun 22, 2015

@etrain I've now responded to your comments & added unit tests

@shivaram
Copy link
Contributor

@etrain let me know once this is good for me to take a look

/**
* Concats a Seq of DenseVectors into a single DenseVector.
*/
case class VectorCombiner[T : ClassTag]()(implicit zero: breeze.storage.Zero[T]) extends Transformer[Seq[DenseVector[T]], DenseVector[T]] {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

over 100 characters ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack, 140 chars, will fix.

@shivaram
Copy link
Contributor

@tomerk this is looking pretty good at a high level and I just had some minor comments. I think just explaining the Pipeline data structures a bit more would make this nice and clear.

@etrain One more thing we should do is to tag the previous version as 0.1 as this is a pretty big API change.

@tomerk
Copy link
Contributor Author

tomerk commented Jun 24, 2015

@shivaram how's this look now?

MaxClassifier


val predictor = Optimizer.execute(predictorPipeline)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to call the optimizer explicitly or is this just done here to get the dot file ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Whenever you want to use the optimizer it has to be called explicitly

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this mean we should add this to other pipelines as well now ? Or is it okay to not call the optimizer ? Also longer term we shouldn't expect the user to call this I guess, so we need to find a place to do this automatically

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mmm... at the moment it will only make a difference in pipelines with > 1 estimator. We should add it to pipelines once we update them to construct the full DAGs before doing anything, but most of them currently don't.

As for when to call this automatically... still tbd, possibly when interpreting or compiling a pipeline, and @etrain may have some ideas.

@shivaram
Copy link
Contributor

Just some minor style comments. A couple of obligatory questions

  1. Do the tests pass ?
  2. Have you run some of the pipelines (say Mnist / Cifar) to see if nothing becomes slower etc ?

@tomerk
Copy link
Contributor Author

tomerk commented Jun 24, 2015

Yup, the tests pass!
As for running the pipelines: I have run the newsgroups & Mnist pipelines to confirm they still work correctly. I haven't been measuring performance or running on large datasets, but nothing became obviously slower.

@tomerk
Copy link
Contributor Author

tomerk commented Jun 24, 2015

Okay @shivaram, what about now?

@shivaram
Copy link
Contributor

LGTM. Thanks @tomerk for working through this PR !

shivaram added a commit that referenced this pull request Jun 24, 2015
@shivaram shivaram merged commit 42b54c1 into amplab:master Jun 24, 2015
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

Successfully merging this pull request may close these issues.

3 participants