From 89bd6c3772ade6a10e92000a4acd2278f9935d02 Mon Sep 17 00:00:00 2001 From: nbei <631557085@qq.com> Date: Mon, 21 Sep 2020 13:07:47 +0800 Subject: [PATCH 1/5] add pt1.6 cpu/gpu in CI --- .github/workflows/build.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 8c327050bf..dca11ff15b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -44,9 +44,15 @@ jobs: - torch: 1.5.0+cpu torchvision: 0.6.0+cpu python-version: 3.8 + - torch: 1.6.0+cpu + torchvision: 0.7.0+cpu + python-version: 3.7 - torch: 1.5.0+cu101 torchvision: 0.6.0+cu101 python-version: 3.7 + - torch: 1.6.0+cu101 + torchvision: 0.7.0+cu101 + python-version: 3.7 steps: - uses: actions/checkout@v2 From d219916e937e5eaa6372354386814be790f161e3 Mon Sep 17 00:00:00 2001 From: nbei <631557085@qq.com> Date: Mon, 21 Sep 2020 20:25:45 +0800 Subject: [PATCH 2/5] update CI in mmdet style --- .github/workflows/build.yml | 113 +++++++++++++++++++++++------------- 1 file changed, 74 insertions(+), 39 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dca11ff15b..c1d5f77d4d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,48 +11,84 @@ jobs: uses: actions/setup-python@v2 with: python-version: 3.7 - - name: Install linting dependencies + - name: Install pre-commit hook run: | - python -m pip install --upgrade pip - pip install flake8 isort==4.3.21 yapf interrogate - - name: Lint with flake8 - run: flake8 . - - name: Lint with isort - run: isort --recursive --check-only --diff mmedit/ tools/ tests/ demo/ - - name: Format python codes with yapf - run: yapf -r -d mmedit/ tools/ configs/ tests/ demo/ - - name: Check docstring - run: interrogate -v --ignore-init-method --ignore-module --ignore-nested-functions --ignore-regex "__repr__" --fail-under 80 mmedit + pip install pre-commit + pre-commit install + - name: Linting + run: pre-commit run --all-files + - name: Check docstring coverage + run: | + pip install interrogate + interrogate -v --ignore-init-method --ignore-module --ignore-nested-functions --ignore-regex "__repr__" --fail-under 80 mmediting + + build_cpu: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.7] + torch: [1.3.0, 1.4.0, 1.5.0, 1.6.0] + include: + - torch: 1.3.0 + torchvision: 0.4.2 + - torch: 1.4.0 + torchvision: 0.5.0 + - torch: 1.5.0 + torchvision: 0.6.1 + - torch: 1.6.0 + torchvision: 0.7.0 + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install Pillow + run: pip install Pillow==6.2.2 + if: ${{matrix.torchvision == '0.4.2'}} + - name: Install PyTorch + run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu -f https://download.pytorch.org/whl/torch_stable.html + - name: Install MMCV + run: pip install mmcv-full==latest+torch${{matrix.torch}}+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html + - name: Install unittest dependencies + run: pip install -r requirements/tests.txt -r requirements/optional.txt + - name: Build and install + run: rm -rf .eggs && pip install -e . + - name: Run unittests and generate coverage report + run: | + coverage run --branch --source mmedit -m pytest tests/ + coverage xml + coverage report -m + + build_cuda: + runs-on: ubuntu-latest - build: env: CUDA: 10.1.105-1 CUDA_SHORT: 10.1 UBUNTU_VERSION: ubuntu1804 - FORCE_CUDA: 1 - MMCV_CUDA_ARGS: -gencode=arch=compute_61,code=sm_61 - runs-on: ubuntu-latest strategy: matrix: - python-version: [3.6, 3.7] - torch: [1.3.0+cpu, 1.5.0+cpu] + python-version: [3.7] + torch: [1.3.1, 1.5.1+cu101, 1.6.0+cu101] include: - - torch: 1.3.0+cpu - torchvision: 0.4.2+cpu - - torch: 1.5.0+cpu - torchvision: 0.6.0+cpu - - torch: 1.5.0+cpu - torchvision: 0.6.0+cpu - python-version: 3.8 - - torch: 1.6.0+cpu - torchvision: 0.7.0+cpu - python-version: 3.7 - - torch: 1.5.0+cu101 - torchvision: 0.6.0+cu101 - python-version: 3.7 + - torch: 1.3.1 + torchvision: 0.4.2 + mmcv: "latest+torch1.3.0+cu101" + - torch: 1.5.1+cu101 + torchvision: 0.6.1+cu101 + mmcv: "latest+torch1.5.0+cu101" + - torch: 1.6.0+cu101 + torchvision: 0.7.0+cu101 + mmcv: "latest+torch1.6.0+cu101" + - torch: 1.6.0+cu101 + torchvision: 0.7.0+cu101 + mmcv: "latest+torch1.6.0+cu101" + python-version: 3.6 - torch: 1.6.0+cu101 torchvision: 0.7.0+cu101 - python-version: 3.7 + mmcv: "latest+torch1.6.0+cu101" + python-version: 3.8 steps: - uses: actions/checkout@v2 @@ -61,7 +97,6 @@ jobs: with: python-version: ${{ matrix.python-version }} - name: Install CUDA - if: ${{matrix.torch == '1.5.0+cu101'}} run: | export INSTALLER=cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER} @@ -74,26 +109,26 @@ jobs: export CUDA_HOME=/usr/local/cuda-${CUDA_SHORT} export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${CUDA_HOME}/include:${LD_LIBRARY_PATH} export PATH=${CUDA_HOME}/bin:${PATH} - sudo apt-get install -y ninja-build - name: Install Pillow - if: ${{matrix.torchvision == '0.4.2+cpu'}} run: pip install Pillow==6.2.2 + if: ${{matrix.torchvision < 0.5}} - name: Install PyTorch run: pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html - - name: Install mmedit dependencies + - name: Install mmediting dependencies run: | - pip install mmcv-full==latest+torch${{matrix.torch}} -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html + pip install mmcv-full==${{matrix.mmcv}} -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html pip install -r requirements.txt - name: Build and install - run: rm -rf .eggs && pip install -e . + run: | + rm -rf .eggs + python setup.py check -m -s + TORCH_CUDA_ARCH_LIST=7.0 pip install . - name: Run unittests and generate coverage report run: | coverage run --branch --source mmedit -m pytest tests/ coverage xml coverage report -m - # Only upload coverage report for python3.7 && pytorch1.5 - name: Upload coverage to Codecov - if: ${{matrix.torch == '1.5.0+cu101' && matrix.python-version == '3.7'}} uses: codecov/codecov-action@v1.0.10 with: file: ./coverage.xml From 00f7fad0abccd4a37710f3f729a224453bcf3e5f Mon Sep 17 00:00:00 2001 From: nbei <631557085@qq.com> Date: Mon, 21 Sep 2020 20:41:35 +0800 Subject: [PATCH 3/5] remove wrong requirements --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c1d5f77d4d..dd03ff090b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,7 +51,7 @@ jobs: - name: Install MMCV run: pip install mmcv-full==latest+torch${{matrix.torch}}+cpu -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html - name: Install unittest dependencies - run: pip install -r requirements/tests.txt -r requirements/optional.txt + run: pip install -r requirements/tests.txt - name: Build and install run: rm -rf .eggs && pip install -e . - name: Run unittests and generate coverage report From ffccc1c41030541e5eed2b631f929eba6c74e933 Mon Sep 17 00:00:00 2001 From: nbei <631557085@qq.com> Date: Mon, 21 Sep 2020 21:10:58 +0800 Subject: [PATCH 4/5] update pre-commit config --- .pre-commit-config.yaml | 3 +- docs/make.bat | 71 +++++++++++++++++++++-------------------- 2 files changed, 38 insertions(+), 36 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2186aa5d93..87fc78ca5a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,13 +16,14 @@ repos: hooks: - id: yapf - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v2.5.0 + rev: v3.1.0 hooks: - id: trailing-whitespace - id: check-yaml - id: end-of-file-fixer - id: requirements-txt-fixer - id: double-quote-string-fixer + - id: check-merge-conflict - id: fix-encoding-pragma args: ["--remove"] - id: mixed-line-ending diff --git a/docs/make.bat b/docs/make.bat index 2119f51099..8a3a0e25b4 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -1,35 +1,36 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=. -set BUILDDIR=_build - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% - -:end -popd +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd From cc6671fb67b0e1ec385755f09d50950a2d3c03bf Mon Sep 17 00:00:00 2001 From: nbei <631557085@qq.com> Date: Mon, 21 Sep 2020 21:33:14 +0800 Subject: [PATCH 5/5] fix check doc coverage bug --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index dd03ff090b..2693e5d58a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,7 +20,7 @@ jobs: - name: Check docstring coverage run: | pip install interrogate - interrogate -v --ignore-init-method --ignore-module --ignore-nested-functions --ignore-regex "__repr__" --fail-under 80 mmediting + interrogate -v --ignore-init-method --ignore-module --ignore-nested-functions --ignore-regex "__repr__" --fail-under 80 mmedit build_cpu: runs-on: ubuntu-latest