Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/feature/SG-000_add_dataset_licen…
Browse files Browse the repository at this point in the history
…se_message' into feature/SG-000_add_dataset_license_message
  • Loading branch information
shaydeci committed Feb 19, 2024
2 parents 09ca6bf + 396a47d commit a580ff9
Show file tree
Hide file tree
Showing 51 changed files with 10,127 additions and 7,392 deletions.
21 changes: 17 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ commands:
jobs:
build:
parallelism: 16 # Adjust based on your needs
environment:
CIRCLE_COMPARE_URL: << pipeline.project.git_url >>/compare/<< pipeline.git.base_revision >>..<<pipeline.git.revision>>
parameters:
Expand Down Expand Up @@ -186,6 +187,7 @@ jobs:
. venv/bin/activate
python3 -m pip install pip==23.1.2
python3 -m pip install -r requirements.txt
python3 -m pip install -r requirements.dev.txt
- run:
name: edit package version
command: |
Expand All @@ -210,14 +212,23 @@ jobs:
. venv/bin/activate
python3 -m pip install pytorch-quantization==2.1.2 --extra-index-url https://pypi.ngc.nvidia.com
python3 -m pip install onnx_graphsurgeon==0.3.27 --extra-index-url https://pypi.ngc.nvidia.com
- run:
name: run tests with coverage
name: run tests with coverage in parallel
no_output_timeout: 30m
command: |
. venv/bin/activate
coverage run --source=super_gradients -m unittest tests/deci_core_unit_test_suite_runner.py
coverage report
coverage html # open htmlcov/index.html in a browser
# Split test files across parallel containers
TEST_FILES=$(circleci tests glob "tests/unit_tests/*test*.py" | circleci tests split --split-by=timings)
# Run tests with coverage for the assigned subset of files
echo "Running tests on the following files: $TEST_FILES"
for file in $TEST_FILES; do
echo "Running $file"
coverage run --source=super_gradients -m unittest $file
done
# If needed, each container can generate a partial coverage report
coverage report -m
- store_artifacts:
path: htmlcov
Expand Down Expand Up @@ -529,6 +540,7 @@ jobs:
source << parameters.sg_new_env_name >>/bin/activate
python3.8 -m pip install --upgrade setuptools pip wheel
python3.8 -m pip install -r requirements.txt
python3.8 -m pip install -r requirements.dev.txt
python3.8 -m pip install .
python3.8 -m pip install torch torchvision torchaudio
make sweeper_test
Expand Down Expand Up @@ -566,6 +578,7 @@ jobs:
source << parameters.sg_new_env_name >>/bin/activate
python3.8 -m pip install --upgrade setuptools pip wheel
python3.8 -m pip install -r requirements.txt
python3.8 -m pip install -r requirements.dev.txt
python3.8 -m pip install .
python3.8 -m pip install torch torchvision torchaudio
python3.8 -m pip install pytorch-quantization==2.1.2 --extra-index-url https://pypi.ngc.nvidia.com
Expand Down
44 changes: 42 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,8 @@ model = models.get("model-name", pretrained_weights="pretrained-model-name")

### Pose Estimation

* [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Deci-AI/super-gradients/blob/master/notebooks/DEKR_PoseEstimationFineTuning.ipynb) [Pose Estimation Transfer Learning](https://github.com/Deci-AI/super-gradients/blob/master/notebooks/DEKR_PoseEstimationFineTuning.ipynb)
* [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Deci-AI/super-gradients/blob/master/notebooks/YoloNAS_Pose_Fine_Tuning_Animals_Pose_Dataset.ipynb) [Fine Tuning YoloNAS-Pose on AnimalPose dataset](https://github.com/Deci-AI/super-gradients/blob/master/notebooks/YoloNAS_Pose_Fine_Tuning_Animals_Pose_Dataset.ipynb)
* [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Deci-AI/super-gradients/blob/master/notebooks/DEKR_PoseEstimationFineTuning.ipynb) [Fine Tuning DEKR on AnimalPose dataset](https://github.com/Deci-AI/super-gradients/blob/master/notebooks/DEKR_PoseEstimationFineTuning.ipynb)


### Object Detection
Expand Down Expand Up @@ -489,7 +490,8 @@ train_params = { ... # training parameters
<details markdown="1">

<summary><h3> Integration to ClearML </h3></summary>



```python
from super_gradients import Trainer

Expand All @@ -508,7 +510,45 @@ train_params = { ... # training parameters
}
```


</details>
<details markdown="1">

<summary><h3> Integration to Voxel51 </h3></summary>

You can apply SuperGradients YOLO-NAS models directly to your FiftyOne dataset using the apply_model() method:

```python
import fiftyone as fo
import fiftyone.zoo as foz

from super_gradients.training import models

dataset = foz.load_zoo_dataset("quickstart", max_samples=25)
dataset.select_fields().keep_fields()

model = models.get("yolo_nas_m", pretrained_weights="coco")

dataset.apply_model(model, label_field="yolo_nas", confidence_thresh=0.7)

session = fo.launch_app(dataset)
```

The SuperGradients YOLO-NAS model can be accessed directly from the FiftyOne Model Zoo:

```python
import fiftyone as fo
import fiftyone.zoo as foz

model = foz.load_zoo_model("yolo-nas-torch")

dataset = foz.load_zoo_dataset("quickstart")
dataset.apply_model(model, label_field="yolo_nas")

session = fo.launch_app(dataset)
```

</details>


## Installation Methods
Expand Down
9 changes: 6 additions & 3 deletions YOLONAS-POSE.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,12 @@ We provide training recipies for training YOLO-NAS-POSE on COCO, CrowdPose and A
</td>
</tr>
<tr>
<td>
<a target="_blank" href="https://colab.research.google.com/drive/1agLj0aGx48C_rZPrTkeA18kuncack6lF">
<img src="./documentation/assets/SG_img/colab_logo.png" /> Fine-Tune YoloNAS Pose on AnimalPose dataset Notebook
<td>
<a href="https://colab.research.google.com/github/Deci-AI/super-gradients/blob/master/notebooks/YoloNAS_Pose_Fine_Tuning_Animals_Pose_Dataset.ipynb">
<img src="./documentation/assets/SG_img/colab_logo.png" alt="Open In Colab" />
</a>
<a href="https://github.com/Deci-AI/super-gradients/blob/master/notebooks/YoloNAS_Pose_Fine_Tuning_Animals_Pose_Dataset.ipynb">
Fine Tuning YoloNAS-Pose on AnimalPose dataset
</a>
</td>
</tr>
Expand Down
2 changes: 2 additions & 0 deletions documentation/source/ptq_qat.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ In this tutorial, we’ll compare post-training quantization (PTQ) to quantizati

For mode detailed information and theoretical background, refer to this [NVIDIA whitepaper](https://arxiv.org/pdf/2004.09602.pdf) and [this practical guide from PyTorch](https://pytorch.org/blog/quantization-in-practice/).

**Note: quantization is currently supported exclusively for GPU and TensorRT environments.**


## Quantization: FP32 vs FP16 vs INT8
Quantization is a model size reduction technique that converts model weights from high-precision floating-point representation (32-bit float) to low-precision floating-point (FP) representation, such as 16-bit or 8-bit.
Expand Down
1 change: 1 addition & 0 deletions documentation/source/qat_ptq_yolo_nas.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Pre-requisites:
- [Training with configuration files](https://github.com/Deci-AI/super-gradients/blob/master/documentation/source/configuration_files.md)
- [PTQ and QAT](https://github.com/Deci-AI/super-gradients/blob/master/documentation/source/ptq_qat.md)

**Note: quantization is currently supported exclusively for GPU and TensorRT environments.**

Now, let's get to it.

Expand Down
16 changes: 16 additions & 0 deletions documentation/source/welcome.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,22 @@ You can also start from our tutorial on [Detection](ObjectDetection.md), [Segmen
## What's New

__________________________________________________________________________________________________________
Version 3.6.0 (Jan 25, 2024)

* Added segmentation samples and support for albumentation transforms for segmentation
* Implemented distance-based detection matching in `DetectionMetrics` as an enhancement (by @DimaBir)
* New training hyperparameter - finetune, and multiple LR assignment read about it [https://github.com/Deci-AI/super-gradients/blob/master/documentation/source/LRAssignment.md](here)
* Enhanced `ImagePermute` processing inclusion
* Improved dataset plotting and plot functionality
* A new API for checking model input compatibility
* Extended `predict()` support for segmentation models

Version 3.5.0 (November 23, 2023)

* Support for long videos in `model.predict()` (by @hakuryuu96)
* Added support for multiple test loaders in `train_from_config`
* Added skip_resize to `model.predict()` to support large images and small objects

Version 3.4.0 (November 6, 2023)

* [YoloNAS-Pose](YOLONAS-POSE.md) model released - a new frontier in pose estimation
Expand Down
1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ nav:
- Computer Vision Datasets: ./src/super_gradients/training/datasets/Dataset_Setup_Instructions.md
- Dataset Adapter: ./documentation/source/dataloader_adapter.md
- Loss functions: ./documentation/source/Losses.md
- LR Assignment: ./documentation/source/LRAssignment.md
- LR schedulers: ./documentation/source/LRScheduling.md
- Metrics: ./documentation/source/Metrics.md
- Optimizers: ./documentation/source/optimizers.md
Expand Down
6 changes: 4 additions & 2 deletions notebooks/PTQ_and_QAT_for_classification.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
"\n",
"Full tutorial can be found [here](https://github.com/Deci-AI/super-gradients/blob/master/documentation/source/ptq_qat.md)\n",
"\n",
"SuperGradient's Recipes for PTQ/QAT can be found [here](https://github.com/Deci-AI/super-gradients/tree/master/src/super_gradients/recipes/quantization_params)\n"
"SuperGradient's Recipes for PTQ/QAT can be found [here](https://github.com/Deci-AI/super-gradients/tree/master/src/super_gradients/recipes/quantization_params)\n",
"\n",
"**Note: quantization is currently supported exclusively for GPU and TensorRT environments.**"
]
},
{
Expand Down Expand Up @@ -1854,4 +1856,4 @@
},
"nbformat": 4,
"nbformat_minor": 0
}
}
Loading

0 comments on commit a580ff9

Please sign in to comment.