diff --git a/cs_gan/run.sh b/cs_gan/run.sh index 2a2afef..eb44976 100755 --- a/cs_gan/run.sh +++ b/cs_gan/run.sh @@ -12,12 +12,32 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - -python3 -m venv cs_gan_venv +# Install python3.5 +which python3.5 +if [ $? -eq 1 ]; then + echo 'Installing python3.5' + (cd /usr/src/ + sudo wget https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz + tar -xvzf Python-3.5.6.tgz + sudo tar -xvzf Python-3.5.6.tgz + cd Python-3.5.6 + ./configure --enable-loadable-sqlite-extensions --enable-optimizations + sudo make altinstall) +fi +# Fail on any error. +set -e +python3.5 -m venv cs_gan_venv +echo 'Created venv' source cs_gan_venv/bin/activate -pip install --upgrade pip +echo 'Installing pip' +curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py +python3.5 get-pip.py pip==20.2.3 + +echo 'Getting requirements.' pip install -r cs_gan/requirements.txt -python -m cs_gan.main_cs -python -m cs_gan.main +echo 'Starting training...' +python3.5 -m cs_gan.main_cs +# Gan code. +python3.5 -m cs_gan.main diff --git a/scratchgan/README.md b/scratchgan/README.md index 4398096..84111e2 100644 --- a/scratchgan/README.md +++ b/scratchgan/README.md @@ -39,34 +39,4 @@ The data contains: ## Running -Download the data and place it in the directory specified by `data_dir` flag: - - mkdir -p /tmp/emnlp2017 - curl https://storage.googleapis.com/deepmind-scratchgan-data/train.json --output /tmp/emnlp2017/train.json - curl https://storage.googleapis.com/deepmind-scratchgan-data/valid.json --output /tmp/emnlp2017/valid.json - curl https://storage.googleapis.com/deepmind-scratchgan-data/test.json --output /tmp/emnlp2017/test.json - curl https://storage.googleapis.com/deepmind-scratchgan-data/glove_emnlp2017.txt --output /tmp/emnlp2017/glove_emnlp2017.txt - -Create and activate a virtual environment if needed: - - virtualenv scratchgan-venv - source scratchgan-venv/bin/activate - - -Note: the code uses python 2. This might mean that to create the virtual env -you have to pass a path to the python binary to be used, as follows: -`virtualenv -p /usr/bin/python2.7 scratchgan-venv`. - -Install requirements: - - pip install -r scratchgan/requirements.txt - -Run training and evaluation jobs: - - python2 -m scratchgan.experiment --mode="train" & - python2 -m scratchgan.experiment --mode="evaluate_pair" & - -The evaluation code is designed to run in parallel with the training. - -The training code saves checkpoints periodically, the evaluation code -looks for new checkpoints and evaluate them. + ./scratchgan/run.sh diff --git a/scratchgan/run.sh b/scratchgan/run.sh new file mode 100755 index 0000000..e8fb125 --- /dev/null +++ b/scratchgan/run.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# Copyright 2019 Deepmind Technologies Limited. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# Get EMNLP data. +mkdir -p /tmp/emnlp2017 +curl https://storage.googleapis.com/deepmind-scratchgan-data/train.json --output /tmp/emnlp2017/train.json +curl https://storage.googleapis.com/deepmind-scratchgan-data/valid.json --output /tmp/emnlp2017/valid.json +curl https://storage.googleapis.com/deepmind-scratchgan-data/test.json --output /tmp/emnlp2017/test.json +curl https://storage.googleapis.com/deepmind-scratchgan-data/glove_emnlp2017.txt --output /tmp/emnlp2017/glove_emnlp2017.txt + + +# Install python3.5 +which python3.5 +if [ $? -eq 1 ]; then + echo 'Installing python3.5' + (cd /usr/src/ + sudo wget https://www.python.org/ftp/python/3.5.6/Python-3.5.6.tgz + tar -xvzf Python-3.5.6.tgz + sudo tar -xvzf Python-3.5.6.tgz + cd Python-3.5.6 + ./configure --enable-loadable-sqlite-extensions --enable-optimizations + sudo make altinstall) +fi +# Fail on any error. +set -e +python3.5 -m venv scratchgan-venv +echo 'Created venv' +source scratchgan-venv/bin/activate +echo 'Installing pip' +curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py +python3.5 get-pip.py pip==20.2.3 + + +echo 'Getting requirements.' +pip install -r scratchgan/requirements.txt + +echo 'Starting training...' +python3.5 -m scratchgan.experiment --mode="train" & +python3.5 -m scratchgan.experiment --mode="evaluate_pair" &