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

Dockerizing (WIP) #36

Closed
wants to merge 2 commits into from
Closed

Dockerizing (WIP) #36

wants to merge 2 commits into from

Conversation

maximz
Copy link

@maximz maximz commented Jul 12, 2016

Dockerized.

Remaining tasks:

  • Split into base box with dependencies
  • Make dev image that mounts code as volume (instead of git cloning)
  • Add CI
  • Build separate :cpu and :gpu containers

@coveralls
Copy link

coveralls commented Jul 12, 2016

Coverage Status

Coverage remained the same at 69.79% when pulling 55da362 on maximz:docker into e541cd3 on hammerlab:master.

@hammer
Copy link
Contributor

hammer commented Jul 12, 2016

@maximz awesome! can you change the names of the scripts to indicate they're specific to docker?

@hammer
Copy link
Contributor

hammer commented Jul 12, 2016

@maximz also think we can make the build one line w/ docker build -t hammerlab/mhcflurry:latest .. Would be nice as my docker tag doesn't accept -f as a flag.

@maximz
Copy link
Author

maximz commented Jul 12, 2016

-f can be removed directly, it's now implicit. Thanks for catching that.

I'll rename and prefix docker_.

I think it makes sense to keep our tagging separate from building so we can test the image. Should the CI script be:

docker build...
docker run mhcflurry-img nosetests mhcflurry # on error, CI will pause
docker tag...
docker push...

or should we run tests from the Dockerfile? (this is for when nosetests are fixed)

@hammer
Copy link
Contributor

hammer commented Jul 19, 2016

We should build two images, one from the :cpu tag and one from the :gpu_temp tag.

(Documentation seems to indicate gpu_temp tag doesn't work; confirmed that the image is missing many libraries)

@hammer
Copy link
Contributor

hammer commented Jul 20, 2016

I did get a GPU container image working but think we should revisit the base image and not bother including all of the deep learning libraries as the image is quite bloated.

I think we should move to using TensorFlow instead of Theano as a backend and build our Docker image from gcr.io/tensorflow/tensorflow:latest-devel-gpu

@iskandr
Copy link
Contributor

iskandr commented Aug 3, 2016

Hey @maximz, how is this branch coming along? Should I review it?

@maximz
Copy link
Author

maximz commented Aug 3, 2016

@iskandr I haven't been working actively on this, though it looks like @hammer 's gotten mhcflurry working on top of TensorFlow backend in Docker (#38). If so, let's swap out the base box as Jeff suggested above.

@hammer, if you have a working docker configuration, we can turn it into a Dockerfile and put it in this branch. Is that the next step? I can also circle back and hit some of the TODOs above.

@hammer
Copy link
Contributor

hammer commented Aug 3, 2016

Yeah I'm happily using my Docker container on the DevBox to train models w/ TensorFlow on the GPU. It's hammerlab/mhcflurry:gpu and is a beast (5.696 GB).

I think we should build from the TF images rather than the floydhub/dl-docker:gpu image. I haven't gotten around to writing that dockerfile. Some day soon...

@hammer
Copy link
Contributor

hammer commented Aug 3, 2016

Also TODO: my current Docker image has TensorFlow and dependencies installed on top of Python 2. We should really install on top of Python 3.

@timodonnell
Copy link
Contributor

@hammer Can you point us to your Dockerfile? I don't think I can access it just from the image on docker hub.

I'd like to merge one of these working docker images for MHCflurry into master and set up an automated build on docker hub (may require deleting and recreating the hammerlab/mhcflurry repo on docker hub).

@hammer
Copy link
Contributor

hammer commented Aug 29, 2016

@timodonnell i didn't use a dockerfile it's just an image that's on the DevBox

If you want a Dockerfile I'd suggest starting from a leaner image than the one Maxim is starting from as it's quite massive and has a lot of extraneous gunk.

@iskandr
Copy link
Contributor

iskandr commented Aug 30, 2016

Closing in favor of #45

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.

5 participants