Update README.md #118
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push, pull_request] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: 3.7 | |
- name: Install pre-commit hook | |
run: | | |
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 mmdet | |
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 | |
python -c 'import mmcv; print(mmcv.__version__)' | |
- 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 mmdet -m pytest tests/ | |
coverage xml | |
coverage report -m | |
build_cuda: | |
runs-on: ubuntu-latest | |
env: | |
CUDA: 10.1.105-1 | |
CUDA_SHORT: 10.1 | |
UBUNTU_VERSION: ubuntu1804 | |
strategy: | |
matrix: | |
python-version: [3.7] | |
torch: [1.3.1, 1.5.1+cu101, 1.6.0+cu101] | |
include: | |
- 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 | |
mmcv: "latest+torch1.6.0+cu101" | |
python-version: 3.8 | |
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 CUDA | |
run: | | |
export INSTALLER=cuda-repo-${UBUNTU_VERSION}_${CUDA}_amd64.deb | |
wget http://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/${INSTALLER} | |
sudo dpkg -i ${INSTALLER} | |
wget https://developer.download.nvidia.com/compute/cuda/repos/${UBUNTU_VERSION}/x86_64/7fa2af80.pub | |
sudo apt-key add 7fa2af80.pub | |
sudo apt update -qq | |
sudo apt install -y cuda-${CUDA_SHORT/./-} cuda-cufft-dev-${CUDA_SHORT/./-} | |
sudo apt clean | |
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} | |
- name: Install Pillow | |
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 mmdet dependencies | |
run: | | |
pip install mmcv-full==${{matrix.mmcv}} -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html | |
pip install -r requirements.txt | |
python -c 'import mmcv; print(mmcv.__version__)' | |
- name: Build and install | |
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 mmdet -m pytest tests/ | |
coverage xml | |
coverage report -m | |
- name: Upload coverage to Codecov | |
uses: codecov/[email protected] | |
with: | |
file: ./coverage.xml | |
flags: unittests | |
env_vars: OS,PYTHON | |
name: codecov-umbrella | |
fail_ci_if_error: false | |
build_parrots: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/sunnyxiaohu/parrots-mmcv:1.2.1 | |
credentials: | |
username: sunnyxiaohu | |
password: ${{secrets.CR_PAT}} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install mmdet dependencies | |
run: | | |
git clone https://github.com/open-mmlab/mmcv.git && cd mmcv | |
MMCV_WITH_OPS=1 python setup.py install | |
cd .. && rm -rf mmcv | |
python -c 'import mmcv; print(mmcv.__version__)' | |
pip install -r requirements.txt | |
- name: Build and install | |
run: rm -rf .eggs && pip install -e . |