Welcome to Pytorch-Wildlife v1.0
At the core of our mission is the desire to create a harmonious space where conservation scientists from all over the globe can unite, share, and grow. We are expanding the Microsoft CameraTraps repo (previously the repo for MegaDetector) to introduce Pytorch-Wildlife, a Collaborative Deep Learning Framework for Conservation, where researchers can come together to share and use datasets and deep learning architectures for wildlife conservation.
We've been inspired by the potential and capabilities of Megadetector, and we deeply value its contributions to the community. As we forge ahead with Pytorch-Wildlife, under which Megadetector now resides, please know that we remain committed to supporting, maintaining, and developing Megadetector, ensuring its continued relevance, expansion, and utility.
The Pytorch-Wildlife library is a new AI Conservation platform that allows users to directly load the MegaDetector v5
model weights for animal detection. We've fully refactored our codebase, prioritizing ease of use in model deployment and expansion. In addition to MegaDetector v5
, Pytorch-Wildlife also accommodates a range of classification weights, such as those derived from an Amazon Rainforest camera trap dataset and an Opossum classification dataset (more details of these datasets will be published soon).

Unlike previous implementations where the MegaDetector v5
model weights need to be manually downloaded, Pytorch-Wildlife automatically downloads all the model weights (including MegaDetector v5
and other classification model weights) the first time the models are loaded. This implementation uses an approach similar to the default Pytorch model loading method.
To use the newest version of MegaDetector with all the existing functionalities, you can simply load the model with Pytorch-Wildlife and the weights will be automatically downloaded:
from PytorchWildlife.models import detection as pw_detection
detection_model = pw_detection.MegaDetectorV5()
Please also explore the codebase and functionalities of Pytorch-Wildlife through our interactive Gradio interface and detailed Jupyter notebooks, designed to showcase the practical applications of our enhancements.
Pytorch-Wildlife can be installed through:
pip install PytorchWildlife
More information can be found in our Installation guide and detailed library documentation.
Here is a brief example on how to perform detection and classification on a single image using PyTorch-wildlife
:
import torch
from PytorchWildlife.models import detection as pw_detection
from PytorchWildlife.models import classification as pw_classification
img = torch.randn((3, 1280, 1280))
# Detection
detection_model = pw_detection.MegaDetectorV5()
detection_result = detection_model.single_image_detection(img)
#Classification
classification_model = pw_classification.AI4GAmazonRainforest()
classification_results = classification_model.single_image_classification(img)
If you have any questions regarding MegaDetector and Pytorch-Wildlife, please email us at zhongqimiao@microsoft.com!
22 February 2024 7:00am
This is really interesting. I’ll probably pm you to see if we can have a video call as I’d like to align on some of my goals with respect to object detection and conservation so I have an idea as to what’s possible. My head has been going in many directions with respect to your mega detector platform.
Also to discuss about those models and the NVidia Jetson Platform.

Herdhanu Jayanto
KONKLUSI (Kolaborasi Inklusi Konservasi - Yayasan)
23 February 2024 9:02pm
Is there any plan for upcoming workshop or training for PyTorch-Wildlife for non coder? I was trying to use MDv5 via PyTorch Wildlife but stop after stuck with the unfamiliarity of interface. Thanks!
17 April 2024 11:07am
Hi everyone! @zhongqimiao was kind enough to join Variety Hour last month to talk more about Pytorch-Wildlife, so the recording might be of interest to folks in this thread. Catch up here:
23 April 2024 9:48pm
Hi @zhongqimiao ,
Might you have faced such an issue while using mega detector
The conflict is caused by:
pytorchwildlife 1.0.2.13 depends on torch==1.10.1
pytorchwildlife 1.0.2.12 depends on torch==1.10.1
pytorchwildlife 1.0.2.11 depends on torch==1.10.1
if yes how did you solve it, or might you have any ideas?
torch 1.10.1 doesn't seem to exist
Kim Hendrikse