Python API Reference
Using WildDetect packages programmatically.
WildDetect
Detection Pipeline
from wildetect.core.pipeline import DetectionPipeline
# Initialize
pipeline = DetectionPipeline(
model_path="detector.pt",
device="cuda"
)
# Detect single image
result = pipeline.detect("image.jpg")
# Detect batch
results = pipeline.detect_batch("images/")
# Save results
pipeline.save_results(results, "results.json")
Census Engine
from wildetect.core.census import CensusEngine, CensusConfig
# Configure
config = CensusConfig.from_yaml("config/census.yaml")
# Run census
engine = CensusEngine(config)
census_result = engine.run_census("survey_images/")
# Generate report
census_result.save_report("report.pdf")
WilData
Data Pipeline
from wildata.pipeline import DataPipeline
# Initialize
pipeline = DataPipeline("data")
# Import dataset
result = pipeline.import_dataset(
source_path="annotations.json",
source_format="coco",
dataset_name="my_dataset"
)
# List datasets
datasets = pipeline.list_datasets()
# Export
pipeline.export_dataset("my_dataset", "yolo")
ROI Adapter
from wildata.adapters import ROIAdapter
import json
# Load COCO data
with open("annotations.json") as f:
coco_data = json.load(f)
# Create ROI adapter
adapter = ROIAdapter(
coco_data,
roi_box_size=128,
random_roi_count=10
)
# Convert
roi_data = adapter.convert()
# Save
adapter.save(roi_data, "roi_dataset/")
WildTrain
Training (Classification)
from wildtrain.models import ImageClassifier
from wildtrain.data import ClassificationDataModule
import pytorch_lightning as pl
# Create model
model = ImageClassifier(
architecture="resnet50",
num_classes=10,
learning_rate=0.001
)
# Create data module
datamodule = ClassificationDataModule(
data_root="data/roi_dataset",
batch_size=32
)
# Train
trainer = pl.Trainer(max_epochs=100, accelerator="gpu")
trainer.fit(model, datamodule)
Model Registry
from wildtrain.registry import ModelRegistry
# Initialize
registry = ModelRegistry("http://localhost:5000")
# Register model
version = registry.register_model(
model_path="checkpoints/best.ckpt",
model_name="wildlife_classifier",
description="ResNet50 classifier",
tags={"accuracy": "0.95"}
)
# Load model
model = registry.load_model("wildlife_classifier", version="latest")
# Promote to production
registry.promote_model("wildlife_classifier", version, "Production")
For complete architecture details, see: - WildDetect Architecture - WilData Architecture - WildTrain Architecture