Open sarahmaddox opened 6 years ago
I think these codelabs are pretty important for our conference presence, so we can continue to promote Kubeflow at IO, Next, and other events by letting customers try it at kiosks with free GCP resources
I agree with your concerns that these overlapping tutorials will be hard to maintain. Let me know if you have any suggestions, or if you want to plan a meeting to discuss it. I'm planning on doing an update cycle on all our codelabs over the next few weeks to bring everything back up to date, it might be useful to make sure we're on the same page
Thanks Dan, sounds good. One strategy would be to explain to customers that the codelabs are updated for specific events but not necessarily kept up to date outside the event timeframes, and to link to the corresponding tutorial for folks who're running the tutorial on their own.
Can we have a single copy of the code in kubeflow/examples?
We can still have a codelab hosted at https://codelabs.developers.google.com that points to a fixed commit in kubeflow/examples.
We need to add tests: kubeflow/examples#460 and keep the code up to date as Kubeflow evolves. This is much harder if we have multiple copies of the code.
Yes, I believe the current plan is to migrate the code here into the examples repo as part of the codelab update to 0.4. There's a meeting set up to go through the details tomorrow. I see you're on the calendar invite, but I'll update here if there are any new decisions made
Here's some additional thoughts on how to reconcile the code
I think we should use https://github.com/kubeflow/examples/blob/master/mnist/model.py and not https://github.com/googlecodelabs/kubeflow-introduction/blob/master/tensorflow-model/MNIST.py
It looks like kubeflow/examples is missing the web app front end so we should copy that over.
I was actually planning to use tensorflow keras to implement a much simpler and shorter example for mnist (considering that keras will be the recommendation of tensorflow 2.0 anyway). I think the emphasis of this kubeflow example will be to show how to use kubeflow, and not so much on how to train a model anyway. But I am open to other ideas as well.
I think if you want to change the model to use Keras that's fine. Swapping out the model once we have tests should be fine because the tests will ensure the updates don't break it.
Serving is now updated in kubeflow/examples/mnist.
I'm working on moving over the web-ui and then I think the copy in kubeflow/examples will be up to date and contain everything we want to preverse from googlecodelabs. We can then proceed with moving to Keras or other improvements as desired.
One difference is; codelab is walking through building the ksonnet app https://codelabs.developers.google.com/codelabs/kubeflow-introduction/index.html#4
Whereas in kubeflow/examples/mnist I'm checking in a ksonnet app and user just needs to set parameters needed to customize it for their particular install
We now have an end-to-end GKE guide in the Kubeflow docs, which uses the code sample from this codelab.
Here's the new Kubeflow doc: https://www.kubeflow.org/docs/guides/gke/gcp-e2e/
It'd be good to deprecate this codelab in favour of the Kubeflow docs and samples. I think the steps needed are: 1) Merge the code sample from this repo into the Kubeflow samples repo. 2) Deprecate the codelab tutorial: https://codelabs.developers.google.com/codelabs/kubeflow-introduction/index.html#0