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

Add Dockerfile #9

Open
AwokeKnowing opened this issue Oct 11, 2017 · 2 comments
Open

Add Dockerfile #9

AwokeKnowing opened this issue Oct 11, 2017 · 2 comments

Comments

@AwokeKnowing
Copy link

Can you list the exact commands you would run to install the dependencies? Then we can make a Dockerfile so people can run it as a docker container on any computer/server without installing anything.

@ikostrikov
Copy link
Owner

I added requirements to the readme file. Let me know if anything is missing.

@AwokeKnowing
Copy link
Author

AwokeKnowing commented Oct 13, 2017

I haven't got a chance to fine tune it, but for now, I have it working. Based off official pytorch docker image, I just had to add the extra dependencies open AI gym mentions on their install page.

FROM pytorch/pytorch:v0.2
COPY . .
RUN apt-get update -qq && apt-get install -y --no-install-recommends \
 python-numpy python-dev cmake zlib1g-dev libjpeg-dev xvfb libav-tools \
 xorg-dev python-opengl libboost-all-dev libsdl2-dev swig \
 && apt-get clean && rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/openai/baselines.git && cd baselines && pip install -e .
RUN pip install -r requirements.txt
CMD ['/bin/sh']

So steps are:

  1. Clone this repo
  2. Download your trained models (see link in readme)
  3. Add the above into repo as file named Dockerfile
  4. Build the image docker build -t "pytorch-a2c-ppo-acktr" ./
  5. Run the docker image. Here we 'enjoy' pong:
nvidia-docker run --rm -it -v "$(pwd)/trained_models":/workspace/trained_models \
    --user=$(id -u) \
    --env="DISPLAY" \
    --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \
    awokeknowing/pytorch-a2c-ppo-acktr \
    python enjoy.py --algo acktr --load-dir trained_models/acktr --env-name "PongNoFrameskip-v4" --num-stack 4

Again, you might consider having the built image at docker hub so that you could get your 'volunteers' up and running with just cloning the repo and running a script like bash volunteer.sh (assuming they have nvidia-docker installed)

Also, note that it works with regular 'docker' with identical command. nvidia-docker just makes sure gpu is available, which you'd want for training.

I'll update as I do some more testing.

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

No branches or pull requests

2 participants