Skip to content
This repository was archived by the owner on Nov 17, 2023. It is now read-only.

Add test for pip installations#5916

Merged
piiswrong merged 4 commits intoapache:masterfrom
lxn2:cleanup
Apr 24, 2017
Merged

Add test for pip installations#5916
piiswrong merged 4 commits intoapache:masterfrom
lxn2:cleanup

Conversation

@lxn2
Copy link
Copy Markdown
Member

@lxn2 lxn2 commented Apr 20, 2017

This commit adds Dockerfiles and test script to test all variants of MXNet pip packages. I've tested this on a copy of the Jenkins slave host with an updated NVIDIA driver (375.26) with the following command:

tests/jenkins/run_test_pip_installations.sh ${WORKSPACE} where WORKSPACE was set to /home/ec2-user/mxnet, the Jenkins workspace.

Currently the test will fail after testing mxnet with Python 3.6 as the accuracy is lower than expected. We can either put that case at the very end or change the script to not fail until all cases have been tested.

@sandeep-krishnamurthy

Copy link
Copy Markdown

@sandeep-krishnamurthy sandeep-krishnamurthy left a comment

Choose a reason for hiding this comment

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

Great. Thanks for this changes. Overall looks good.
Few queries posted as comment.
I am guessing that we will be running this as nightly tests and not for each PR?
If nightly I am good to have that failing test at the end to get started off.


# add repo to install different Python versions
RUN apt-get update && apt-get install -y software-properties-common
RUN add-apt-repository ppa:fkrull/deadsnakes && apt-get update
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Why is this required?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

This repository has a lot of old/new Python versions to test with. This allows me to install multiple versions of Python 3.

cp ${DOCKERFILE_DEVICE} ${DOCKERFILE}
cat Dockerfile.pip_dependencies >> ${DOCKERFILE}

# build Docker image
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Why do we want to build docker image every time?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

  1. It can rebuild if we've made changes to the Dockerfile
  2. We don't assume that the image exists on the host
  3. We don't have to rely on Dockerhub/ECS and push small images that we only use for testing purposes

What's nice about this is that if we've rerun this test in succession, the image built the first time is cached, so we don't spend additional time rebuilding.

@lxn2
Copy link
Copy Markdown
Member Author

lxn2 commented Apr 20, 2017

nosetest failing possibly because I added arguments to the test_conv.py script. Debugging and will push the changes after.

@mli
Copy link
Copy Markdown
Contributor

mli commented Apr 20, 2017

@szha should we put the pip tests into the pip build repo?

@szha
Copy link
Copy Markdown
Member

szha commented Apr 21, 2017

It would be nice to include tests after the build of each variation. The blocker was the Travis build time-limit. We will need to move the release to Jenkins if we want tests like this pr. Currently I manually test all the releases with unit tests.

@piiswrong
Copy link
Copy Markdown
Contributor

if we have mac on Jenkins we can move the release to Jenkins

@lxn2
Copy link
Copy Markdown
Member Author

lxn2 commented Apr 21, 2017

@mli @szha @piiswrong we don't have mac on Jenkins right now and can't prioritize adding that. Can we push this for now so we can run a nightly test?

I can organize this test script under tests/jenkins/pip/ folder if that helps.

@piiswrong piiswrong merged commit 2297695 into apache:master Apr 24, 2017
Guneet-Dhillon pushed a commit to Guneet-Dhillon/mxnet that referenced this pull request Sep 13, 2017
* Clean install script

* Add test for pip installations

* Remove debug statements & comments

* Make test runnable as script and from framework
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants