Spaces:
Runtime error
Runtime error
| name: build | |
| on: | |
| push: | |
| paths-ignore: | |
| - 'README.md' | |
| - 'README_zh-CN.md' | |
| - 'docs/**' | |
| - 'examples/**' | |
| - '.dev_scripts/**' | |
| - 'docker/**' | |
| pull_request: | |
| paths-ignore: | |
| - 'README.md' | |
| - 'README_zh-CN.md' | |
| - 'docs/**' | |
| - 'examples/**' | |
| - '.dev_scripts/**' | |
| - 'docker/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| MMCV_WITH_OPS: 1 | |
| jobs: | |
| build_without_torch: | |
| runs-on: ubuntu-18.04 | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| 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 system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y ffmpeg libturbojpeg | |
| - name: Build and install | |
| run: rm -rf .eggs && pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| pip install -r requirements/test.txt | |
| pytest tests/ \ | |
| --ignore=tests/test_runner \ | |
| --ignore=tests/test_device/test_ipu \ | |
| --ignore=tests/test_optimizer.py \ | |
| --ignore=tests/test_cnn \ | |
| --ignore=tests/test_parallel.py \ | |
| --ignore=tests/test_ops \ | |
| --ignore=tests/test_load_model_zoo.py \ | |
| --ignore=tests/test_utils/test_logging.py \ | |
| --ignore=tests/test_image/test_io.py \ | |
| --ignore=tests/test_utils/test_registry.py \ | |
| --ignore=tests/test_utils/test_parrots_jit.py \ | |
| --ignore=tests/test_utils/test_trace.py \ | |
| --ignore=tests/test_utils/test_hub.py \ | |
| --ignore=tests/test_device \ | |
| --ignore=tests/test_utils/test_torch_ops.py | |
| build_without_ops: | |
| runs-on: ubuntu-18.04 | |
| env: | |
| MMCV_WITH_OPS: 0 | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| torch: [1.7.0, 1.8.0, 1.9.0] | |
| include: | |
| - torch: 1.7.0 | |
| torchvision: 0.8.1 | |
| - torch: 1.8.0 | |
| torchvision: 0.9.0 | |
| - torch: 1.9.0 | |
| torchvision: 0.10.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 system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y ffmpeg libturbojpeg | |
| - name: Install PyTorch | |
| run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Build and install | |
| run: rm -rf .eggs && pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests | |
| run: | | |
| pip install -r requirements/test.txt | |
| pytest tests/ --ignore=tests/test_ops | |
| build_cpu: | |
| runs-on: ubuntu-18.04 | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| torch: [1.5.1, 1.6.0, 1.7.0, 1.8.0, 1.9.0] | |
| include: | |
| - torch: 1.5.1 | |
| torchvision: 0.6.1 | |
| - torch: 1.6.0 | |
| torchvision: 0.7.0 | |
| - torch: 1.7.0 | |
| torchvision: 0.8.1 | |
| - torch: 1.8.0 | |
| torchvision: 0.9.0 | |
| - torch: 1.9.0 | |
| torchvision: 0.10.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 system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y ffmpeg libturbojpeg | |
| - name: Install PyTorch | |
| run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu -f https://download.pytorch.org/whl/torch_stable.html | |
| # pstuil is an optional package to detect the number of CPU for compiling mmcv | |
| - name: Install psutil | |
| run: pip install psutil | |
| - name: Create sdist and untar | |
| run: | | |
| MMCV_WITH_OPS=1 python setup.py sdist | |
| tar zxvf dist/mmcv-full* -C /tmp | |
| rm -r mmcv | |
| - name: Build and install from sdist | |
| run: | | |
| pushd /tmp/mmcv-full* | |
| pip install -e . | |
| popd | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| pip install -r requirements/test.txt | |
| coverage run --branch --source=mmcv -m pytest tests/ | |
| coverage xml | |
| coverage report -m | |
| build_cu101: | |
| runs-on: ubuntu-18.04 | |
| container: | |
| image: pytorch/pytorch:1.6.0-cuda10.1-cudnn7-devel | |
| env: | |
| FORCE_CUDA: 1 | |
| MMCV_CUDA_ARGS: -gencode=arch=compute_61,code=sm_61 | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| torch: [1.3.1, 1.5.1+cu101, 1.6.0+cu101, 1.7.0+cu101, 1.8.0+cu101] | |
| include: | |
| - torch: 1.3.1 | |
| torchvision: 0.4.2 | |
| - torch: 1.5.1+cu101 | |
| torchvision: 0.6.1+cu101 | |
| - torch: 1.6.0+cu101 | |
| torchvision: 0.7.0+cu101 | |
| - torch: 1.7.0+cu101 | |
| torchvision: 0.8.1+cu101 | |
| - torch: 1.8.0+cu101 | |
| torchvision: 0.9.0+cu101 | |
| - python-version: 3.6 | |
| torch: 1.8.0+cu101 | |
| torchvision: 0.9.0+cu101 | |
| - python-version: 3.8 | |
| torch: 1.8.0+cu101 | |
| torchvision: 0.9.0+cu101 | |
| - python-version: 3.9 | |
| torch: 1.8.0+cu101 | |
| torchvision: 0.9.0+cu101 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Fetch GPG keys | |
| run: | | |
| apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | |
| apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub | |
| - name: Install python-dev | |
| run: apt-get update && apt-get install -y python${{matrix.python-version}}-dev | |
| if: ${{matrix.python-version != '3.9'}} | |
| - name: Install Pillow | |
| run: python -m pip install Pillow==6.2.2 | |
| if: ${{matrix.torchvision == '0.4.2'}} | |
| # When we use a third-party container, we need to add python -m to call | |
| # the user-installed pip when we use the pip command, otherwise it will | |
| # call the system pip | |
| - name: Install PyTorch | |
| run: python -m pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Install system dependencies | |
| run: apt-get update && apt-get install -y ffmpeg libturbojpeg ninja-build | |
| - name: Install dependencies for compiling onnx when python=3.9 | |
| run: python -m pip install protobuf && apt-get -y install libprotobuf-dev protobuf-compiler cmake | |
| if: ${{matrix.python-version == '3.9'}} | |
| # pstuil is an optional package to detect the number of CPU for compiling mmcv | |
| - name: Install psutil | |
| run: python -m pip install psutil | |
| - name: Build and install | |
| run: rm -rf .eggs && python -m pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| python -m pip install -r requirements/test.txt | |
| coverage run --branch --source=mmcv -m pytest tests/ | |
| coverage xml | |
| coverage report -m | |
| # Only upload coverage report for python3.7 && pytorch1.6 | |
| - name: Upload coverage to Codecov | |
| if: ${{matrix.torch == '1.6.0+cu101' && matrix.python-version == '3.7'}} | |
| uses: codecov/codecov-action@v1.0.14 | |
| with: | |
| file: ./coverage.xml | |
| flags: unittests | |
| env_vars: OS,PYTHON | |
| name: codecov-umbrella | |
| fail_ci_if_error: false | |
| build_cu102: | |
| runs-on: ubuntu-18.04 | |
| container: | |
| image: pytorch/pytorch:1.9.0-cuda10.2-cudnn7-devel | |
| env: | |
| FORCE_CUDA: 1 | |
| MMCV_CUDA_ARGS: -gencode=arch=compute_61,code=sm_61 | |
| strategy: | |
| matrix: | |
| python-version: [3.7] | |
| torch: [1.9.0+cu102, 1.10.0+cu102] | |
| include: | |
| - torch: 1.9.0+cu102 | |
| torchvision: 0.10.0+cu102 | |
| - torch: 1.10.0+cu102 | |
| torchvision: 0.11.0+cu102 | |
| - python-version: '3.10' | |
| torch: 1.11.0+cu102 | |
| torchvision: 0.12.0+cu102 | |
| - python-version: '3.10' | |
| torch: 1.12.0+cu102 | |
| torchvision: 0.13.0+cu102 | |
| - python-version: 3.6 | |
| torch: 1.9.0+cu102 | |
| torchvision: 0.10.0+cu102 | |
| - python-version: 3.8 | |
| torch: 1.9.0+cu102 | |
| torchvision: 0.10.0+cu102 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Fetch GPG keys | |
| run: | | |
| apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | |
| apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64/7fa2af80.pub | |
| - name: Add PPA | |
| run: | | |
| apt-get update && apt-get install -y software-properties-common | |
| add-apt-repository -y ppa:deadsnakes/ppa | |
| - name: Install python-dev | |
| run: apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y python${{matrix.python-version}}-dev | |
| - name: python -m Install PyTorch | |
| run: python -m pip install torch==${{matrix.torch}} torchvision==${{matrix.torchvision}} -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Install system dependencies | |
| run: apt-get update && apt-get install -y ffmpeg libturbojpeg ninja-build | |
| # pstuil is an optional package to detect the number of CPU for compiling mmcv | |
| - name: Install psutil | |
| run: python -m pip install psutil | |
| - name: Build and install | |
| run: rm -rf .eggs && python -m pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests and generate coverage report | |
| run: | | |
| python -m pip install -r requirements/test.txt | |
| coverage run --branch --source=mmcv -m pytest tests/ | |
| coverage xml | |
| if: ${{matrix.python-version != '3.10'}} | |
| # special treatment for python3.10 because onnx and onnxruntime don't provide python3.10 pre-built packages | |
| - name: Run unittests and generate coverage report for python3.10 | |
| run: | | |
| python -m pip install -r requirements/test.txt | |
| coverage run --branch --source=mmcv -m pytest tests/ --ignore=tests/test_ops/test_onnx.py --ignore=tests/test_ops/test_tensorrt.py --ignore=tests/test_ops/test_tensorrt_preprocess.py | |
| coverage xml | |
| if: ${{matrix.python-version == '3.10'}} | |
| build_windows_without_ops: | |
| runs-on: windows-latest | |
| env: | |
| MMCV_WITH_OPS: 0 | |
| strategy: | |
| matrix: | |
| torch: [1.7.1, 1.8.0, 1.9.0] | |
| include: | |
| - torch: 1.7.1 | |
| torchvision: 0.8.2 | |
| - torch: 1.8.0 | |
| torchvision: 0.9.0 | |
| - torch: 1.9.0 | |
| torchvision: 0.10.0 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python 3.7 | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: 3.7 | |
| - name: Install PyTorch | |
| run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu --no-cache-dir -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Build and install | |
| run: pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests | |
| run: | | |
| pip install -r requirements/test.txt | |
| pytest tests/ --ignore=tests/test_ops --ignore tests/test_utils/test_progressbar.py --ignore tests/test_utils/test_timer.py --ignore tests/test_image/test_io.py | |
| build_windows: | |
| runs-on: windows-latest | |
| strategy: | |
| matrix: | |
| torch: [1.7.1, 1.8.0, 1.9.0] | |
| include: | |
| - torch: 1.7.1 | |
| torchvision: 0.8.2 | |
| - torch: 1.8.0 | |
| torchvision: 0.9.0 | |
| - torch: 1.9.0 | |
| torchvision: 0.10.0 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python 3.7 | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: 3.7 | |
| - name: Install PyTorch | |
| run: pip install torch==${{matrix.torch}}+cpu torchvision==${{matrix.torchvision}}+cpu --no-cache-dir -f https://download.pytorch.org/whl/torch_stable.html | |
| - name: Build and install | |
| run: pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests | |
| run: | | |
| pip install -r requirements/test.txt | |
| pytest tests/ --ignore tests/test_utils/test_progressbar.py --ignore tests/test_utils/test_timer.py --ignore tests/test_image/test_io.py | |
| build_macos: | |
| runs-on: macos-latest | |
| strategy: | |
| matrix: | |
| torch: [1.3.1, 1.5.1, 1.6.0, 1.7.0, 1.8.0, 1.9.0] | |
| include: | |
| - torch: 1.3.1 | |
| torchvision: 0.4.2 | |
| - torch: 1.5.1 | |
| torchvision: 0.6.1 | |
| - torch: 1.6.0 | |
| torchvision: 0.7.0 | |
| - torch: 1.7.0 | |
| torchvision: 0.8.1 | |
| - torch: 1.8.0 | |
| torchvision: 0.9.0 | |
| - torch: 1.9.0 | |
| torchvision: 0.10.0 | |
| steps: | |
| - uses: actions/checkout@v2 | |
| - name: Set up Python 3.7 | |
| uses: actions/setup-python@v2 | |
| with: | |
| python-version: 3.7 | |
| - name: Install system dependencies | |
| run: brew install ffmpeg jpeg-turbo | |
| - name: Install utils | |
| run: pip install psutil | |
| - 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}} torchvision==${{matrix.torchvision}} --no-cache-dir | |
| - name: Build and install | |
| run: | | |
| rm -rf .eggs | |
| CC=clang CXX=clang++ CFLAGS='-stdlib=libc++' pip install -e . | |
| - name: Validate the installation | |
| run: python -c "import mmcv" | |
| - name: Run unittests | |
| run: | | |
| pip install -r requirements/test.txt | |
| # The timing on macos VMs is not precise, so we skip the progressbar tests | |
| pytest tests/ --ignore tests/test_utils/test_progressbar.py --ignore tests/test_utils/test_timer.py | |