From 00c39dc849e0090e22b60c4816490e5b94155137 Mon Sep 17 00:00:00 2001 From: rain-Brian Date: Wed, 3 Jun 2026 14:05:05 -0700 Subject: [PATCH 1/2] docs(seo): add the full PytorchWildlife API reference to the framework docs site Migrate the auto-generated API reference (mkdocstrings) to the framework's own documentation site, so PyTorch-Wildlife hosts the complete code API rather than the Biodiversity hub. Pairs the hand-written API Overview with a per-module reference. - Enable the mkdocstrings python handler with paths: [src] (this repo uses a src/ layout) and google docstrings. - Add the 32-page Reference - Code API nav tree (base module: data, models, utils; plus model fine-tuning), mirroring the structure the hub previously carried. Verified: mkdocs build renders the reference from src/PytorchWildlife (static analysis); sitemap grew from 6 to 40 URLs. --- docs/base/data/datasets.md | 3 + docs/base/data/transforms.md | 3 + .../models/classification/base_classifier.md | 3 + .../classification/resnet_base/amazon.md | 3 + .../resnet_base/base_classifier.md | 3 + .../resnet_base/custom_weights.md | 3 + .../classification/resnet_base/opossum.md | 3 + .../classification/resnet_base/serengeti.md | 3 + .../models/classification/timm_base/DFNE.md | 3 + .../classification/timm_base/Deepfaune.md | 3 + .../timm_base/base_classifier.md | 3 + docs/base/models/detection/base_detector.md | 3 + docs/base/models/detection/herdnet.md | 3 + .../herdnet/animaloc/data/patches.md | 3 + .../detection/herdnet/animaloc/data/types.md | 3 + .../detection/herdnet/animaloc/eval/lmds.md | 3 + .../herdnet/animaloc/eval/stitchers.md | 3 + docs/base/models/detection/herdnet/dla.md | 3 + docs/base/models/detection/herdnet/model.md | 3 + .../detection/ultralytics_based/Deepfaune.md | 3 + .../ultralytics_based/megadetectorv5.md | 3 + .../ultralytics_based/megadetectorv6.md | 3 + .../megadetectorv6_distributed.md | 3 + .../ultralytics_based/yolov5_base.md | 3 + .../ultralytics_based/yolov8_base.md | 3 + .../ultralytics_based/yolov8_distributed.md | 3 + docs/base/overview.md | 37 +++++++++++ docs/base/utils/misc.md | 1 + docs/base/utils/post_process.md | 1 + .../classification/overview.md | 10 +++ .../fine_tuning_modules/detection/overview.md | 10 +++ docs/fine_tuning_modules/overview.md | 10 +++ mkdocs.yml | 62 +++++++++++++++++++ 33 files changed, 209 insertions(+) create mode 100644 docs/base/data/datasets.md create mode 100644 docs/base/data/transforms.md create mode 100644 docs/base/models/classification/base_classifier.md create mode 100644 docs/base/models/classification/resnet_base/amazon.md create mode 100644 docs/base/models/classification/resnet_base/base_classifier.md create mode 100644 docs/base/models/classification/resnet_base/custom_weights.md create mode 100644 docs/base/models/classification/resnet_base/opossum.md create mode 100644 docs/base/models/classification/resnet_base/serengeti.md create mode 100644 docs/base/models/classification/timm_base/DFNE.md create mode 100644 docs/base/models/classification/timm_base/Deepfaune.md create mode 100644 docs/base/models/classification/timm_base/base_classifier.md create mode 100644 docs/base/models/detection/base_detector.md create mode 100644 docs/base/models/detection/herdnet.md create mode 100644 docs/base/models/detection/herdnet/animaloc/data/patches.md create mode 100644 docs/base/models/detection/herdnet/animaloc/data/types.md create mode 100644 docs/base/models/detection/herdnet/animaloc/eval/lmds.md create mode 100644 docs/base/models/detection/herdnet/animaloc/eval/stitchers.md create mode 100644 docs/base/models/detection/herdnet/dla.md create mode 100644 docs/base/models/detection/herdnet/model.md create mode 100644 docs/base/models/detection/ultralytics_based/Deepfaune.md create mode 100644 docs/base/models/detection/ultralytics_based/megadetectorv5.md create mode 100644 docs/base/models/detection/ultralytics_based/megadetectorv6.md create mode 100644 docs/base/models/detection/ultralytics_based/megadetectorv6_distributed.md create mode 100644 docs/base/models/detection/ultralytics_based/yolov5_base.md create mode 100644 docs/base/models/detection/ultralytics_based/yolov8_base.md create mode 100644 docs/base/models/detection/ultralytics_based/yolov8_distributed.md create mode 100644 docs/base/overview.md create mode 100644 docs/base/utils/misc.md create mode 100644 docs/base/utils/post_process.md create mode 100644 docs/fine_tuning_modules/classification/overview.md create mode 100644 docs/fine_tuning_modules/detection/overview.md create mode 100644 docs/fine_tuning_modules/overview.md 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..e138ab0 --- /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..36b6e84 --- /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..44d25c3 --- /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 From 1cdeca6a22f9100366456dd571be914340d9e153 Mon Sep 17 00:00:00 2001 From: rain-Brian Date: Wed, 3 Jun 2026 14:05:29 -0700 Subject: [PATCH 2/2] docs(seo): remove em-dashes from fine-tuning page descriptions (gate) --- docs/fine_tuning_modules/classification/overview.md | 2 +- docs/fine_tuning_modules/detection/overview.md | 2 +- docs/fine_tuning_modules/overview.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/fine_tuning_modules/classification/overview.md b/docs/fine_tuning_modules/classification/overview.md index e138ab0..3d1846e 100644 --- a/docs/fine_tuning_modules/classification/overview.md +++ b/docs/fine_tuning_modules/classification/overview.md @@ -1,5 +1,5 @@ --- -description: "PyTorch-Wildlife classification fine-tuning — adapt species classifiers to your own datasets and geographic regions." +description: "PyTorch-Wildlife classification fine-tuning: adapt species classifiers to your own datasets and geographic regions." tags: - PyTorch-Wildlife - classification fine-tuning diff --git a/docs/fine_tuning_modules/detection/overview.md b/docs/fine_tuning_modules/detection/overview.md index 36b6e84..7c1595e 100644 --- a/docs/fine_tuning_modules/detection/overview.md +++ b/docs/fine_tuning_modules/detection/overview.md @@ -1,5 +1,5 @@ --- -description: "PyTorch-Wildlife detection fine-tuning — fine-tune MegaDetector on your own camera-trap data for improved local performance." +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 diff --git a/docs/fine_tuning_modules/overview.md b/docs/fine_tuning_modules/overview.md index 44d25c3..2dd21d2 100644 --- a/docs/fine_tuning_modules/overview.md +++ b/docs/fine_tuning_modules/overview.md @@ -1,5 +1,5 @@ --- -description: "PyTorch-Wildlife fine-tuning modules — adapt MegaDetector and classification models to your own camera-trap datasets." +description: "PyTorch-Wildlife fine-tuning modules: adapt MegaDetector and classification models to your own camera-trap datasets." tags: - PyTorch-Wildlife - fine-tuning