From e4237963d76a2251ef10b9fb56784e9b506a5111 Mon Sep 17 00:00:00 2001 From: Jirka Borovec Date: Sat, 10 Oct 2020 02:46:27 +0200 Subject: [PATCH] hotfix Drone install Horovod (#4038) * hotfix Drone install Horovod * notes --- .drone.yml | 10 ++++++---- pytorch_lightning/utilities/argparse_utils.py | 4 +--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.drone.yml b/.drone.yml index 8760b9b458..b69011027a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -27,8 +27,7 @@ steps: CODECOV_TOKEN: from_secret: codecov_token MKL_THREADING_LAYER: GNU - HOROVOD_GPU_ALLREDUCE: NCCL - HOROVOD_GPU_BROADCAST: NCCL + HOROVOD_GPU_OPERATIONS: NCCL HOROVOD_WITH_PYTORCH: 1 HOROVOD_WITHOUT_TENSORFLOW: 1 HOROVOD_WITHOUT_MXNET: 1 @@ -41,6 +40,9 @@ steps: # path: /opt/conda/lib/python3.7/site-packages commands: + # todo: remove unsets as in correct image Horovod shall be set + - unset HOROVOD_GPU_ALLREDUCE + - unset HOROVOD_GPU_BROADCAST - export PATH="$PATH:/root/.local/bin" - python --version - pip install pip -U @@ -48,8 +50,8 @@ steps: - nvidia-smi #- bash ./requirements/install_AMP.sh - apt-get update && apt-get install -y cmake - - pip install -r ./requirements/base.txt --user -q --upgrade-strategy only-if-needed - - pip install -r ./requirements/devel.txt --user -q --upgrade-strategy only-if-needed + - pip uninstall -y horovod # todo: this shall not be needed + - pip install -r ./requirements/devel.txt --user -q --upgrade-strategy only-if-needed --no-cache-dir #- pip install -r ./requirements/docs.txt --user -q - pip install -r ./requirements/examples.txt --user -q --upgrade-strategy only-if-needed - pip list diff --git a/pytorch_lightning/utilities/argparse_utils.py b/pytorch_lightning/utilities/argparse_utils.py index 8b61989dc9..f2626959bb 100644 --- a/pytorch_lightning/utilities/argparse_utils.py +++ b/pytorch_lightning/utilities/argparse_utils.py @@ -24,11 +24,9 @@ def from_argparse_args(cls, args: Union[Namespace, ArgumentParser], **kwargs): >>> args = Trainer.parse_argparser(parser.parse_args("")) >>> trainer = Trainer.from_argparse_args(args, logger=False) """ - # fist check if any args are defined in environment for the class and set as default - if isinstance(args, ArgumentParser): args = cls.parse_argparser(args) - # if other arg passed, update parameters + params = vars(args) # we only want to pass in valid Trainer args, the rest may be user specific