add more unit tests #1928
Workflow file for this run
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: CI (PyTorch 1.12.1, TorchVision 0.13.1) | |
on: | |
push: | |
branches: [main] | |
paths-ignore: | |
- '**.md' | |
- '**.ipynb' | |
- '**.cff' | |
pull_request: | |
branches: [main] | |
paths-ignore: | |
- '**.md' | |
- '**.ipynb' | |
- '**.cff' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
operating-system: [ubuntu-latest, windows-latest, macos-latest] | |
python-version: [3.8, 3.9, '3.10'] | |
fail-fast: false | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Restore Ubuntu cache | |
uses: actions/cache@v3 | |
if: matrix.operating-system == 'ubuntu-latest' | |
with: | |
path: ~/.cache/pip | |
key: ${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('**/setup.py')}} | |
restore-keys: ${{ matrix.os }}-${{ matrix.python-version }}- | |
- name: Restore MacOS cache | |
uses: actions/cache@v3 | |
if: matrix.operating-system == 'macos-latest' | |
with: | |
path: ~/Library/Caches/pip | |
key: ${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('**/setup.py')}} | |
restore-keys: ${{ matrix.os }}-${{ matrix.python-version }}- | |
- name: Restore Windows cache | |
uses: actions/cache@v3 | |
if: matrix.operating-system == 'windows-latest' | |
with: | |
path: ~\AppData\Local\pip\Cache | |
key: ${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('**/setup.py')}} | |
restore-keys: ${{ matrix.os }}-${{ matrix.python-version }}- | |
- name: Update pip | |
run: python -m pip install --upgrade pip | |
- name: Lint with flake8, black and isort | |
run: | | |
pip install -e .[dev] | |
# stop the build if there are Python syntax errors or undefined names | |
python -m scripts.run_code_style check | |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide | |
flake8 . --exit-zero --max-complexity=10 --max-line-length=127 | |
- name: Install core dependencies | |
run: > | |
pip install -r requirements.txt | |
- name: Install PyTorch(1.13.1) and TorchVision(0.14.1) on Linux and Windows | |
if: > | |
matrix.operating-system == 'ubuntu-latest' || | |
matrix.operating-system == 'windows-latest' | |
run: > | |
pip install torch==1.13.1+cpu torchvision==0.14.1+cpu | |
-f https://download.pytorch.org/whl/torch_stable.html | |
- name: Install PyTorch on MacOS | |
if: matrix.operating-system == 'macos-latest' | |
run: pip install torch==1.13.1 torchvision==0.14.1 | |
- name: Install MMDetection(3.0.0) with MMCV(2.0.0) | |
run: > | |
pip install mmengine==0.7.3 | |
pip install mmcv==2.0.0 -f https://download.openmmlab.com/mmcv/dist/cpu/torch1.13.0/index.html | |
pip install mmdet==3.0.0 | |
- name: Install YOLOv5(7.0.13) | |
run: > | |
pip install yolov5==7.0.13 | |
- name: Install DeepSparse | |
run: > | |
pip install deepsparse | |
- name: Install Transformers(4.35.0) | |
run: > | |
pip install transformers==4.35.0 | |
- name: Install pycocotools(2.0.7) | |
run: > | |
pip install pycocotools==2.0.7 | |
- name: Install ultralytics(8.0.207) | |
run: > | |
pip install ultralytics==8.0.207 | |
- name: Install super-gradients(3.3.1) | |
run: > | |
pip install super-gradients==3.3.1 | |
- name: Unittest for SAHI+YOLOV5/MMDET/Detectron2 on all platforms | |
run: | | |
python -m unittest | |
- name: Install SAHI package from local setup.py | |
run: > | |
pip install -e . | |
- name: Test SAHI CLI | |
run: | | |
# help | |
sahi --help | |
# predict mmdet | |
sahi predict --source tests/data/ --novisual --model_path tests/data/models/mmdet/yolox/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth --model_config_path tests/data/models/mmdet/yolox/yolox_tiny_8xb8-300e_coco.py --image_size 320 | |
sahi predict --source tests/data/coco_utils/terrain1.jpg --export_pickle --export_crop --model_path tests/data/models/mmdet/yolox/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth --model_config_path tests/data/models/mmdet/yolox/yolox_tiny_8xb8-300e_coco.py --image_size 320 | |
sahi predict --source tests/data/coco_utils/ --novisual --dataset_json_path tests/data/coco_utils/combined_coco.json --model_path tests/data/models/mmdet/yolox/yolox_tiny_8x8_300e_coco_20211124_171234-b4047906.pth --model_config_path tests/data/models/mmdet/yolox/yolox_tiny_8xb8-300e_coco.py --image_size 320 | |
# predict yolov5 | |
sahi predict --no_sliced_prediction --model_type yolov5 --source tests/data/coco_utils/terrain1.jpg --novisual --model_path tests/data/models/yolov5/yolov5s6.pt --image_size 320 | |
sahi predict --model_type yolov5 --source tests/data/ --novisual --model_path tests/data/models/yolov5/yolov5s6.pt --image_size 320 | |
sahi predict --model_type yolov5 --source tests/data/coco_utils/terrain1.jpg --export_pickle --export_crop --model_path tests/data/models/yolov5/yolov5s6.pt --image_size 320 | |
sahi predict --model_type yolov5 --source tests/data/coco_utils/ --novisual --dataset_json_path tests/data/coco_utils/combined_coco.json --model_path tests/data/models/yolov5/yolov5s6.pt --image_size 320 | |
# coco yolov5 | |
sahi coco yolov5 --image_dir tests/data/coco_utils/ --dataset_json_path tests/data/coco_utils/combined_coco.json --train_split 0.9 | |
# coco evaluate | |
sahi coco evaluate --dataset_json_path tests/data/coco_evaluate/dataset.json --result_json_path tests/data/coco_evaluate/result.json | |
# coco analyse | |
sahi coco analyse --dataset_json_path tests/data/coco_evaluate/dataset.json --result_json_path tests/data/coco_evaluate/result.json --out_dir tests/data/coco_evaluate/ |