Skip to content
This repository was archived by the owner on Sep 19, 2022. It is now read-only.

Rework example and e2e test script #126

Merged
merged 5 commits into from
Jan 17, 2019
Merged

Rework example and e2e test script #126

merged 5 commits into from
Jan 17, 2019

Conversation

TimZaman
Copy link
Contributor

@TimZaman TimZaman commented Jan 11, 2019

Submitted as WIP, everything working, just wrapping up my tests for the mpi backend. Let me know if this is OKAY. There is quite some redundancy/small bugs/outdated/unmaintained in the examples dir, so I decided to take a stab to clean it up! :-)

(Also I don't think maybe the MPI backend should be promoted, the kubeflow/MPI-operator is superior for this purpose: tailored for MPI and topology awareness).

  • Unify many copies of mnist training scripts into a single one.
    • Backends: Gloo, NCCL, MPI.
    • Bases of the official pytorch/examples/mnist example.
    • Uses TensorboardX for summary writing.
    • Uses a backend argument to select backend (if applicable).
  • Update all examples and dockerfiles to Pytorch 1.0.
  • Remove examples using deprecated TCP backend.
  • Remove old v1alpha1 examples.

This change is Reviewable

@k8s-ci-robot
Copy link

Hi @TimZaman. Thanks for your PR.

I'm waiting for a kubeflow member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@coveralls
Copy link

coveralls commented Jan 11, 2019

Coverage Status

Coverage remained the same at 73.269% when pulling 93e118f on TimZaman:tzaman/refactor-examples into 9261b60 on kubeflow:master.

@johnugeorge
Copy link
Member

/ok-to-test

@johnugeorge
Copy link
Member

johnugeorge commented Jan 15, 2019

@TimZaman Great work. Thanks for your contributions

Few comments

  1. tcp-mnist image is currently built and run during the CI process. Since the tcp example is removed, you need to point to the new example for CI process to pass.
    Image is built in
    https://github.com/kubeflow/pytorch-operator/blob/master/scripts/build.sh#L49
    The image which is built, is used in tests
    https://github.com/kubeflow/pytorch-operator/tree/master/scripts/v1alpha2
    https://github.com/kubeflow/pytorch-operator/tree/master/scripts/v1beta1

  2. Can you add/merge details from existing READMEs into the new one?

/cc @andreyvelich
/cc @Akado2009

@TimZaman
Copy link
Contributor Author

Ok thanks guys, I'll take it that this PR is appreciated (it does update a ton of stuff in examples so wasn't sure). I'll move forward to address comments and remove the WIP state.

- Unify many copies of mnist training scripts into a single one.
  - Backends: Gloo, NCCL, MPI.
  - Bases of the official pytorch/examples/mnist example.
  - Uses TensorboardX for summary writing.
  - Uses a backend argument to select backend (if applicable).
- Update all examples and dockerfiles to Pytorch 1.0.
- Remove examples using deprecated TCP backend.
- Remove old v1alpha1 examples.
@TimZaman TimZaman changed the title [WIP]: Rework examples Rework example and e2e test script Jan 17, 2019
@TimZaman
Copy link
Contributor Author

All comments addressed. As I'm unfamiliar with this project's CI process, I'll see how things go wrt the build.sh.

@johnugeorge
Copy link
Member

@TimZaman CI tests fail because mnist tests have failed.

https://github.com/kubeflow/pytorch-operator/blob/master/scripts/v1alpha2/run-defaults.sh#L49
https://github.com/kubeflow/pytorch-operator/blob/master/scripts/v1alpha2/run-cleanpodpolicy-all.sh#L50

Each test have a timeout of 10 minutes. I think, tests fail because they won't get completed in 10 minutes and they time out. Since we are not concerned about the accuracy of the example, we can keep the default epoch of the example to be 1(https://github.com/kubeflow/pytorch-operator/pull/126/files#diff-f5284f418f68386cd925f0081ba5dcc9R83). WDYT?

@TimZaman
Copy link
Contributor Author

TimZaman commented Jan 17, 2019 via email

Should help reduce the change of CI timeout
@johnugeorge
Copy link
Member

@johnugeorge
Copy link
Member

/retest

@johnugeorge
Copy link
Member

Tests passed. Thanks @TimZaman

/lgtm
/approve

@k8s-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: johnugeorge

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot merged commit bcb6a34 into kubeflow:master Jan 17, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants