Spaces:
No application file
No application file
version: 2.1 | |
# ------------------------------------------------------------------------------------- | |
# Environments to run the jobs in | |
# ------------------------------------------------------------------------------------- | |
cpu: | |
docker: | |
- image: circleci/python:3.6.8-stretch | |
auth: | |
username: $DOCKERHUB_USERNAME | |
password: $DOCKERHUB_TOKEN | |
resource_class: medium | |
gpu: | |
machine: | |
image: ubuntu-1604-cuda-10.1:201909-23 | |
resource_class: gpu.small | |
windows-cpu: | |
machine: | |
resource_class: windows.medium | |
image: windows-server-2019-vs2019:stable | |
shell: powershell.exe | |
# windows-gpu: &windows_gpu | |
# machine: | |
# resource_class: windows.gpu.nvidia.medium | |
# image: windows-server-2019-nvidia:stable | |
pytorch_parameters: | |
parameters: | |
pytorch_version: | |
type: string | |
default: "1.7" | |
torchvision_version: | |
type: string | |
default: "0.8" | |
environment: | |
PYTORCH_VERSION: << parameters.pytorch_version >> | |
TORCHVISION_VERSION: << parameters.torchvision_version >> | |
# ------------------------------------------------------------------------------------- | |
# Re-usable commands | |
# ------------------------------------------------------------------------------------- | |
# install_nvidia_driver: &install_nvidia_driver | |
# - run: | |
# name: Install nvidia driver | |
# working_directory: ~/ | |
# command: | | |
# wget -q 'https://s3.amazonaws.com/ossci-linux/nvidia_driver/NVIDIA-Linux-x86_64-430.40.run' | |
# sudo /bin/bash ./NVIDIA-Linux-x86_64-430.40.run -s --no-drm | |
# nvidia-smi | |
add_ssh_keys: | |
# https://circleci.com/docs/2.0/add-ssh-key/ | |
- add_ssh_keys: | |
fingerprints: | |
- "e4:13:f2:22:d4:49:e8:e4:57:5a:ac:20:2f:3f:1f:ca" | |
install_python: | |
- run: | |
name: Install Python | |
working_directory: ~/ | |
command: | | |
pyenv install -s 3.6.8 | |
pyenv global 3.6.8 | |
python --version | |
which python | |
pip install --upgrade pip | |
setup_venv: | |
- run: | |
name: Setup Virtual Env | |
working_directory: ~/ | |
command: | | |
python -m venv ~/venv | |
echo ". ~/venv/bin/activate" >> $BASH_ENV | |
. ~/venv/bin/activate | |
python --version | |
which python | |
which pip | |
pip install --upgrade pip | |
setup_venv_win: | |
- run: | |
name: Setup Virutal Env for Windows | |
command: | | |
pip install virtualenv | |
python -m virtualenv env | |
.\env\Scripts\activate | |
python --version | |
which python | |
which pip | |
install_linux_dep: | |
- run: | |
name: Install Dependencies | |
command: | | |
pip install --progress-bar off -U 'git+https://github.com/facebookresearch/fvcore' | |
pip install --progress-bar off ninja opencv-python-headless pytest-xdist tensorboard pycocotools | |
pip install --progress-bar off torch==$PYTORCH_VERSION torchvision==$TORCHVISION_VERSION -f https://download.pytorch.org/whl/torch_stable.html | |
python -c 'import torch; print("CUDA:", torch.cuda.is_available())' | |
gcc --version | |
install_detectron2: | |
- run: | |
name: Install Detectron2 | |
command: | | |
pip install --progress-bar off -e .[all] | |
python -m detectron2.utils.collect_env | |
run_unittests: | |
- run: | |
name: Run Unit Tests | |
command: | | |
pytest -n 1 -v tests # parallel causes some random failures | |
# ------------------------------------------------------------------------------------- | |
# Jobs to run | |
# ------------------------------------------------------------------------------------- | |
jobs: | |
linux_cpu_tests: | |
<<: | |
<<: | |
working_directory: ~/detectron2 | |
steps: | |
- checkout | |
- <<: | |
# Cache the venv directory that contains dependencies | |
- restore_cache: | |
keys: | |
- cache-{{ arch }}-<< parameters.pytorch_version >>-{{ .Branch }}-20201027 | |
- <<: | |
- save_cache: | |
paths: | |
- ~/venv | |
key: cache-{{ arch }}-<< parameters.pytorch_version >>-{{ .Branch }}-20201027 | |
- <<: | |
- <<: | |
linux_gpu_tests: | |
<<: | |
<<: | |
working_directory: ~/detectron2 | |
steps: | |
- checkout | |
# Cache the directory that contains python and dependencies | |
- restore_cache: | |
keys: | |
- cache-{{ arch }}-<< parameters.pytorch_version >>-{{ .Branch }}-20201027 | |
- <<: | |
- <<: | |
- save_cache: | |
paths: | |
- /opt/circleci/.pyenv | |
key: cache-{{ arch }}-<< parameters.pytorch_version >>-{{ .Branch }}-20201027 | |
- <<: | |
- <<: | |
windows_cpu_build: | |
<<: | |
<<: | |
steps: | |
- <<: | |
- checkout | |
- <<: | |
# Cache the env directory that contains dependencies | |
- restore_cache: | |
keys: | |
- cache-{{ arch }}-<< parameters.pytorch_version >>-{{ .Branch }}-20201027 | |
- run: | |
name: Install Dependencies | |
command: | | |
pip install certifi --ignore-installed # required on windows to workaround some cert issue | |
pip install numpy cython # required on windows before pycocotools | |
pip install opencv-python-headless pytest-xdist pycocotools tensorboard | |
pip install -U git+https://github.com/facebookresearch/fvcore | |
pip install torch==$env:PYTORCH_VERSION torchvision==$env:TORCHVISION_VERSION -f https://download.pytorch.org/whl/cpu/torch_stable.html | |
- save_cache: | |
paths: | |
- env | |
key: cache-{{ arch }}-<< parameters.pytorch_version >>-{{ .Branch }}-20201027 | |
- <<: | |
# TODO: unittest fails for now | |
workflows: | |
version: 2 | |
regular_test: | |
jobs: | |
- linux_cpu_tests: | |
name: linux_cpu_tests_pytorch1.7 | |
pytorch_version: '1.7+cpu' | |
torchvision_version: '0.8.1+cpu' | |
context: | |
- DOCKERHUB_TOKEN | |
- linux_gpu_tests: | |
name: linux_gpu_tests_pytorch1.5 | |
pytorch_version: '1.5+cu101' | |
torchvision_version: '0.6+cu101' | |
- linux_gpu_tests: | |
name: linux_gpu_tests_pytorch1.6 | |
pytorch_version: '1.6+cu101' | |
torchvision_version: '0.7+cu101' | |
- linux_gpu_tests: | |
name: linux_gpu_tests_pytorch1.7 | |
pytorch_version: '1.7+cu101' | |
torchvision_version: '0.8.1+cu101' | |
- windows_cpu_build | |