mvsoom's picture
Upload folder using huggingface_hub
3133fdb
raw
history blame contribute delete
6.38 kB
# Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved.
# -------------------------------------------------------------------------------------
# CircleCI configuration file.
# Specifies automated environment setup and tests.
#
# See https://circleci.com/docs/2.0/language-python/ for more details
# Available Machine Images:
# https://circleci.com/docs/2.0/configuration-reference/#available-machine-images
# -------------------------------------------------------------------------------------
version: 2.1
# -------------------------------------------------------------------------------------
# Environments to run the jobs in
# -------------------------------------------------------------------------------------
cpu: &cpu
machine:
image: ubuntu-2004:202101-01
gpu: &gpu
environment:
CUDA_VERSION: "10.2"
resource_class: gpu.nvidia.small.multi
machine:
image: ubuntu-2004:202101-01
setup_cuda: &setup_cuda
run:
name: Setup CUDA
working_directory: ~/
command: |
# download and install nvidia drivers, cuda, etc
wget --no-verbose --no-clobber -P ~/nvidia-downloads https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run
sudo sh ~/nvidia-downloads/cuda_11.2.2_460.32.03_linux.run --silent
echo "Done installing CUDA."
nvidia-smi
# -------------------------------------------------------------------------------------
# Re-usable commands
# -------------------------------------------------------------------------------------
install_conda: &install_conda
run:
name: Setup Conda
working_directory: ~/
command: |
curl --retry 3 -o conda.sh https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
sh conda.sh -b -p $HOME/miniconda3
setup_ptv_conda: &setup_ptv_conda
run:
name: Setup Conda Environment
command: |
pyenv versions
export PATH="$HOME/miniconda3/bin:$PATH"
conda update -y conda
conda init bash
source ~/.bashrc
conda create --name pytorchvideo python=3.7.9
install_pytorch: &install_pytorch
- run:
name: Install Pytorch
command: |
export PATH="$HOME/miniconda3/bin:$PATH"
conda activate pytorchvideo
conda install pytorch torchvision -c pytorch
python -c 'import torch; print(torch.__version__)'
python -c 'import torch; print("CUDA:", torch.cuda.is_available())'
python -c 'import torchvision; print(torchvision.__version__)'
install_pytorchvideo: &install_pytorchvideo
- run:
name: Install PyTorchVideo
command: |
export PATH="$HOME/miniconda3/bin:$PATH"
conda activate pytorchvideo
pip install -U --progress-bar off -e .[test]
python -c 'import pytorchvideo; print(pytorchvideo.__version__)'
build_wheels: &build_wheels
- run:
name: Install PyTorchVideo
command: |
export PATH="$HOME/miniconda3/bin:$PATH"
conda activate pytorchvideo
python setup.py sdist
export BUILD_NIGHTLY="1"
python setup.py sdist
run_unittests: &run_unittests
- run:
name: Run Unit Tests
command: |
export PATH="$HOME/miniconda3/bin:$PATH"
conda activate pytorchvideo
python -m unittest discover -v -s tests
run_unittests_with_coverage: &run_unittests_with_coverage
- run:
name: Run Unit Tests
command: |
export PATH="$HOME/miniconda3/bin:$PATH"
conda activate pytorchvideo
coverage run -m unittest discover -v -s tests
bash <(curl -s https://codecov.io/bash)
# -------------------------------------------------------------------------------------
# Jobs to run
# -------------------------------------------------------------------------------------
jobs:
cpu_tests:
<<: *cpu
working_directory: ~/pytorchvideo
steps:
- checkout
- <<: *install_conda
- <<: *setup_ptv_conda
- <<: *install_pytorch
- <<: *install_pytorchvideo
- <<: *build_wheels
- <<: *run_unittests_with_coverage
- store_artifacts:
path: ~/pytorchvideo/dist
- persist_to_workspace:
root: ~/pytorchvideo/dist
paths:
- "*"
gpu_tests:
working_directory: ~/pytorchvideo
<<: *gpu
steps:
- checkout
- <<: *setup_cuda
- <<: *install_conda
- <<: *setup_ptv_conda
- <<: *install_pytorch
- <<: *install_pytorchvideo
- <<: *run_unittests
upload_wheel:
docker:
- image: circleci/python:3.7
auth:
username: $DOCKERHUB_USERNAME
password: $DOCKERHUB_TOKEN
working_directory: ~/pytorchvideo
steps:
- checkout
- attach_workspace:
at: ~/workspace
- run:
command: |
# no commits in the last 25 hours
if [[ -z $(git log --since="25 hours ago") ]]; then
echo "No commits in the last day."
exit 0
fi
pip install --progress-bar off --user twine
for pkg in ~/workspace/*.tar.gz; do
if [[ "$pkg" == *"nightly"* ]];
then
twine upload --verbose --skip-existing --username __token__ --password $PTV_NIGHTLY_PYPI_TOKEN $pkg
else
twine upload --verbose --skip-existing --username __token__ --password $PTV_PYPI_TOKEN $pkg
fi
done
# -------------------------------------------------------------------------------------
# Workflows to launch
# -------------------------------------------------------------------------------------
workflows:
version: 2
regular_test:
jobs:
- cpu_tests:
context:
- DOCKERHUB_TOKEN
- gpu_tests:
context:
- DOCKERHUB_TOKEN
nightly:
jobs:
# https://circleci.com/docs/2.0/contexts/#creating-and-using-a-context
- cpu_tests:
context:
- DOCKERHUB_TOKEN
- gpu_tests:
context:
- DOCKERHUB_TOKEN
- upload_wheel:
requires:
- cpu_tests
- gpu_tests
context:
- DOCKERHUB_TOKEN
triggers:
- schedule:
cron: "0 0 * * *"
filters:
branches:
only:
- main