diff --git a/docs/base/data/datasets.md b/docs/base/data/datasets.md new file mode 100644 index 0000000..a16a16c --- /dev/null +++ b/docs/base/data/datasets.md @@ -0,0 +1,3 @@ +# Datasets Module + +::: PytorchWildlife.data.datasets \ No newline at end of file diff --git a/docs/base/data/transforms.md b/docs/base/data/transforms.md new file mode 100644 index 0000000..b9b2646 --- /dev/null +++ b/docs/base/data/transforms.md @@ -0,0 +1,3 @@ +# Transforms Module + +::: PytorchWildlife.data.transforms \ No newline at end of file diff --git a/docs/base/models/classification/base_classifier.md b/docs/base/models/classification/base_classifier.md new file mode 100644 index 0000000..6f729c9 --- /dev/null +++ b/docs/base/models/classification/base_classifier.md @@ -0,0 +1,3 @@ +# Base Classifier + +::: PytorchWildlife.models.classification.base_classifier \ No newline at end of file diff --git a/docs/base/models/classification/resnet_base/amazon.md b/docs/base/models/classification/resnet_base/amazon.md new file mode 100644 index 0000000..520bfb7 --- /dev/null +++ b/docs/base/models/classification/resnet_base/amazon.md @@ -0,0 +1,3 @@ +# Amazon + +::: PytorchWildlife.models.classification.resnet_base.amazon \ No newline at end of file diff --git a/docs/base/models/classification/resnet_base/base_classifier.md b/docs/base/models/classification/resnet_base/base_classifier.md new file mode 100644 index 0000000..68c1b33 --- /dev/null +++ b/docs/base/models/classification/resnet_base/base_classifier.md @@ -0,0 +1,3 @@ +# ResNet Base + +::: PytorchWildlife.models.classification.resnet_base.base_classifier \ No newline at end of file diff --git a/docs/base/models/classification/resnet_base/custom_weights.md b/docs/base/models/classification/resnet_base/custom_weights.md new file mode 100644 index 0000000..e41b4e8 --- /dev/null +++ b/docs/base/models/classification/resnet_base/custom_weights.md @@ -0,0 +1,3 @@ +# Custom Weights + +::: PytorchWildlife.models.classification.resnet_base.custom_weights \ No newline at end of file diff --git a/docs/base/models/classification/resnet_base/opossum.md b/docs/base/models/classification/resnet_base/opossum.md new file mode 100644 index 0000000..4f6b11f --- /dev/null +++ b/docs/base/models/classification/resnet_base/opossum.md @@ -0,0 +1,3 @@ +# Opossum + +::: PytorchWildlife.models.classification.resnet_base.opossum \ No newline at end of file diff --git a/docs/base/models/classification/resnet_base/serengeti.md b/docs/base/models/classification/resnet_base/serengeti.md new file mode 100644 index 0000000..6f7a376 --- /dev/null +++ b/docs/base/models/classification/resnet_base/serengeti.md @@ -0,0 +1,3 @@ +# Serengeti + +::: PytorchWildlife.models.classification.resnet_base.serengeti \ No newline at end of file diff --git a/docs/base/models/classification/timm_base/DFNE.md b/docs/base/models/classification/timm_base/DFNE.md new file mode 100644 index 0000000..01f11ff --- /dev/null +++ b/docs/base/models/classification/timm_base/DFNE.md @@ -0,0 +1,3 @@ +# DFNE + +::: PytorchWildlife.models.classification.timm_base.DFNE \ No newline at end of file diff --git a/docs/base/models/classification/timm_base/Deepfaune.md b/docs/base/models/classification/timm_base/Deepfaune.md new file mode 100644 index 0000000..a943f59 --- /dev/null +++ b/docs/base/models/classification/timm_base/Deepfaune.md @@ -0,0 +1,3 @@ +# Deepfaune + +::: PytorchWildlife.models.classification.timm_base.Deepfaune \ No newline at end of file diff --git a/docs/base/models/classification/timm_base/base_classifier.md b/docs/base/models/classification/timm_base/base_classifier.md new file mode 100644 index 0000000..ef03c85 --- /dev/null +++ b/docs/base/models/classification/timm_base/base_classifier.md @@ -0,0 +1,3 @@ +# Timm Base + +::: PytorchWildlife.models.classification.timm_base.base_classifier \ No newline at end of file diff --git a/docs/base/models/detection/base_detector.md b/docs/base/models/detection/base_detector.md new file mode 100644 index 0000000..7fbb5f9 --- /dev/null +++ b/docs/base/models/detection/base_detector.md @@ -0,0 +1,3 @@ +# Base Detector + +::: PytorchWildlife.models.detection.base_detector \ No newline at end of file diff --git a/docs/base/models/detection/herdnet.md b/docs/base/models/detection/herdnet.md new file mode 100644 index 0000000..5572463 --- /dev/null +++ b/docs/base/models/detection/herdnet.md @@ -0,0 +1,3 @@ +# HerdNet + +::: PytorchWildlife.models.detection.localization.herdnet \ No newline at end of file diff --git a/docs/base/models/detection/herdnet/animaloc/data/patches.md b/docs/base/models/detection/herdnet/animaloc/data/patches.md new file mode 100644 index 0000000..34716a1 --- /dev/null +++ b/docs/base/models/detection/herdnet/animaloc/data/patches.md @@ -0,0 +1,3 @@ +# Patches + +::: PytorchWildlife.models.detection.localization.animaloc.data.patches \ No newline at end of file diff --git a/docs/base/models/detection/herdnet/animaloc/data/types.md b/docs/base/models/detection/herdnet/animaloc/data/types.md new file mode 100644 index 0000000..02a3e7e --- /dev/null +++ b/docs/base/models/detection/herdnet/animaloc/data/types.md @@ -0,0 +1,3 @@ +# Types + +::: PytorchWildlife.models.detection.localization.animaloc.data.types \ No newline at end of file diff --git a/docs/base/models/detection/herdnet/animaloc/eval/lmds.md b/docs/base/models/detection/herdnet/animaloc/eval/lmds.md new file mode 100644 index 0000000..8e3066f --- /dev/null +++ b/docs/base/models/detection/herdnet/animaloc/eval/lmds.md @@ -0,0 +1,3 @@ +# LMDS + +::: PytorchWildlife.models.detection.localization.animaloc.eval.lmds \ No newline at end of file diff --git a/docs/base/models/detection/herdnet/animaloc/eval/stitchers.md b/docs/base/models/detection/herdnet/animaloc/eval/stitchers.md new file mode 100644 index 0000000..e96b614 --- /dev/null +++ b/docs/base/models/detection/herdnet/animaloc/eval/stitchers.md @@ -0,0 +1,3 @@ +# Stitchers + +::: PytorchWildlife.models.detection.localization.animaloc.eval.stitchers \ No newline at end of file diff --git a/docs/base/models/detection/herdnet/dla.md b/docs/base/models/detection/herdnet/dla.md new file mode 100644 index 0000000..5c5349c --- /dev/null +++ b/docs/base/models/detection/herdnet/dla.md @@ -0,0 +1,3 @@ +# DLA + +::: PytorchWildlife.models.detection.localization.dla \ No newline at end of file diff --git a/docs/base/models/detection/herdnet/model.md b/docs/base/models/detection/herdnet/model.md new file mode 100644 index 0000000..7330fc2 --- /dev/null +++ b/docs/base/models/detection/herdnet/model.md @@ -0,0 +1,3 @@ +# Model + +::: PytorchWildlife.models.detection.localization.model \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/Deepfaune.md b/docs/base/models/detection/ultralytics_based/Deepfaune.md new file mode 100644 index 0000000..f432ea9 --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/Deepfaune.md @@ -0,0 +1,3 @@ +# Deepfaune + +::: PytorchWildlife.models.detection.ultralytics_based.Deepfaune \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/megadetectorv5.md b/docs/base/models/detection/ultralytics_based/megadetectorv5.md new file mode 100644 index 0000000..acc45ca --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/megadetectorv5.md @@ -0,0 +1,3 @@ +# MegaDetector v5 + +::: PytorchWildlife.models.detection.ultralytics_based.megadetectorv5 \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/megadetectorv6.md b/docs/base/models/detection/ultralytics_based/megadetectorv6.md new file mode 100644 index 0000000..62fc7b3 --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/megadetectorv6.md @@ -0,0 +1,3 @@ +# MegaDetector v6 + +::: PytorchWildlife.models.detection.ultralytics_based.megadetectorv6 \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/megadetectorv6_distributed.md b/docs/base/models/detection/ultralytics_based/megadetectorv6_distributed.md new file mode 100644 index 0000000..afab79d --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/megadetectorv6_distributed.md @@ -0,0 +1,3 @@ +# MegaDetector v6 Distributed + +::: PytorchWildlife.models.detection.ultralytics_based.megadetectorv6_distributed \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/yolov5_base.md b/docs/base/models/detection/ultralytics_based/yolov5_base.md new file mode 100644 index 0000000..57366f9 --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/yolov5_base.md @@ -0,0 +1,3 @@ +# YOLOv5 Base + +::: PytorchWildlife.models.detection.ultralytics_based.yolov5_base \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/yolov8_base.md b/docs/base/models/detection/ultralytics_based/yolov8_base.md new file mode 100644 index 0000000..b71b3ac --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/yolov8_base.md @@ -0,0 +1,3 @@ +# YOLOv8 Base + +::: PytorchWildlife.models.detection.ultralytics_based.yolov8_base \ No newline at end of file diff --git a/docs/base/models/detection/ultralytics_based/yolov8_distributed.md b/docs/base/models/detection/ultralytics_based/yolov8_distributed.md new file mode 100644 index 0000000..12feadc --- /dev/null +++ b/docs/base/models/detection/ultralytics_based/yolov8_distributed.md @@ -0,0 +1,3 @@ +# YOLOv8 Distributed + +::: PytorchWildlife.models.detection.ultralytics_based.yolov8_distributed \ No newline at end of file diff --git a/docs/base/overview.md b/docs/base/overview.md new file mode 100644 index 0000000..d2833a1 --- /dev/null +++ b/docs/base/overview.md @@ -0,0 +1,37 @@ +# PytorchWildlife Base Module + +The `PytorchWildlife` base module is the core component of this repository, designed to facilitate wildlife detection and classification tasks using PyTorch. It provides utilities for data processing, model implementation, and post-processing. It is also what is currently packaged in our Python package. + +## Overview + +The module is structured into the following submodules: + +- **`data`**: Contains utilities for handling datasets and applying transformations. +- **`models`**: Includes implementations for classification and detection models. +- **`utils`**: Provides miscellaneous utilities for post-processing and other tasks. + +## Submodules + +### `data` +- `datasets.py`: Defines dataset classes for loading and preprocessing data. +- `transforms.py`: Implements data augmentation and transformation utilities. + +### `models` +- `classification/`: Contains classification model architectures. +- `detection/`: Includes detection model architectures. + +### `utils` +- `misc.py`: Provides helper functions for miscellaneous tasks. +- `post_process.py`: Implements post-processing utilities for model outputs. + +## Getting Started + +To use the `PytorchWildlife` module, import the required submodules as follows: + +```python +from PytorchWildlife.data import datasets, transforms +from PytorchWildlife.models import classification, detection +from PytorchWildlife.utils import misc, post_process +``` + +Refer to the specific submodule documentation for detailed usage instructions. \ No newline at end of file diff --git a/docs/base/utils/misc.md b/docs/base/utils/misc.md new file mode 100644 index 0000000..72139cd --- /dev/null +++ b/docs/base/utils/misc.md @@ -0,0 +1 @@ +::: PytorchWildlife.utils.misc \ No newline at end of file diff --git a/docs/base/utils/post_process.md b/docs/base/utils/post_process.md new file mode 100644 index 0000000..02b513c --- /dev/null +++ b/docs/base/utils/post_process.md @@ -0,0 +1 @@ +::: PytorchWildlife.utils.post_process \ No newline at end of file diff --git a/docs/fine_tuning_modules/classification/overview.md b/docs/fine_tuning_modules/classification/overview.md new file mode 100644 index 0000000..3d1846e --- /dev/null +++ b/docs/fine_tuning_modules/classification/overview.md @@ -0,0 +1,10 @@ +--- +description: "PyTorch-Wildlife classification fine-tuning: adapt species classifiers to your own datasets and geographic regions." +tags: + - PyTorch-Wildlife + - classification fine-tuning + - species classification + - transfer learning +--- + +# In Construction diff --git a/docs/fine_tuning_modules/detection/overview.md b/docs/fine_tuning_modules/detection/overview.md new file mode 100644 index 0000000..7c1595e --- /dev/null +++ b/docs/fine_tuning_modules/detection/overview.md @@ -0,0 +1,10 @@ +--- +description: "PyTorch-Wildlife detection fine-tuning: fine-tune MegaDetector on your own camera-trap data for improved local performance." +tags: + - PyTorch-Wildlife + - detection fine-tuning + - MegaDetector + - transfer learning +--- + +# In Construction \ No newline at end of file diff --git a/docs/fine_tuning_modules/overview.md b/docs/fine_tuning_modules/overview.md new file mode 100644 index 0000000..2dd21d2 --- /dev/null +++ b/docs/fine_tuning_modules/overview.md @@ -0,0 +1,10 @@ +--- +description: "PyTorch-Wildlife fine-tuning modules: adapt MegaDetector and classification models to your own camera-trap datasets." +tags: + - PyTorch-Wildlife + - fine-tuning + - MegaDetector + - transfer learning +--- + +# In construction \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 2fad546..135e68b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -79,6 +79,62 @@ nav: - Tags: tags.md - Cite Us: cite.md - Developer Guide: build_mkdocs.md + - Reference - Code API: + - Base Module: + - Overview: base/overview.md + - Data: + - Datasets: base/data/datasets.md + - Transforms: base/data/transforms.md + - Models: + - Classification: + - Base Classifier: + - base/models/classification/base_classifier.md + - ResNet Base: + - base/models/classification/resnet_base/base_classifier.md + - base/models/classification/resnet_base/amazon.md + - base/models/classification/resnet_base/custom_weights.md + - base/models/classification/resnet_base/opossum.md + - base/models/classification/resnet_base/serengeti.md + - TIMM Base: + - base/models/classification/timm_base/base_classifier.md + - base/models/classification/timm_base/DFNE.md + - base/models/classification/timm_base/Deepfaune.md + - Detection: + - Base Detector: + - base/models/detection/base_detector.md + - HerdNet: + - base/models/detection/herdnet.md + - base/models/detection/herdnet/dla.md + - base/models/detection/herdnet/model.md + - Animaloc: + - Data: + - base/models/detection/herdnet/animaloc/data/patches.md + - base/models/detection/herdnet/animaloc/data/types.md + - Eval: + - base/models/detection/herdnet/animaloc/eval/lmds.md + - base/models/detection/herdnet/animaloc/eval/stitchers.md + - Ultralytics Based: + - base/models/detection/ultralytics_based/Deepfaune.md + - MegaDetector v5: + - base/models/detection/ultralytics_based/megadetectorv5.md + - MegaDetector v6: + - base/models/detection/ultralytics_based/megadetectorv6.md + - base/models/detection/ultralytics_based/megadetectorv6_distributed.md + - YOLOv5 Base: + - base/models/detection/ultralytics_based/yolov5_base.md + - YOLOv8 Base: + - base/models/detection/ultralytics_based/yolov8_base.md + - YOLOv8 Distributed: + - base/models/detection/ultralytics_based/yolov8_distributed.md + - Utils: + - base/utils/misc.md + - base/utils/post_process.md + - Model Fine-tuning: + - Overview: fine_tuning_modules/overview.md + - Classification Fine-tuning: + - Overview: fine_tuning_modules/classification/overview.md + - Detection Fine-tuning: + - Overview: fine_tuning_modules/detection/overview.md markdown_extensions: - admonition @@ -110,3 +166,9 @@ plugins: type: date enable_creation_date: true fallback_to_build_date: true + - mkdocstrings: + handlers: + python: + paths: [src] + options: + docstring_style: google