DeepEthogram DEG-s

DEG-s is a Kinetics700-pretrained hidden two-stream feature extractor for DeepEthogram. This repository contains this model's checkpoint and historical training hyperparameters. See the DeepEthogram collection for the other models.

Model details

Property Value
Architecture resnet3d_34 with TinyMotionNet3D and average two-stream fusion
Task video-classification
Input 11 RGB frames, shaped (N, 3, 11, H, W)
Output 700 logits per input clip, before any task-specific behavior fine-tuning
Pretraining data Kinetics700, as recorded in the historical hyperparameters
Framework PyTorch; DeepEthogram

The full checkpoint includes its own TinyMotionNet3D optical-flow generator, RGB and flow classifiers, and fusion parameters. Loading this model directly needs no other model download. For DeepEthogram's normal training workflow, download the separate TinyMotionNet3D initialization checkpoint too: the training code initializes flow and feature-extractor components separately.

Download and load

Install DeepEthogram and the Hugging Face CLI. Download only this model into an existing DeepEthogram project's pretrained directory:

hf download jbohnslav/deepethogram-deg-s --revision v1.0 --local-dir /path/to/project/models/pretrained_models/200409_101808_hidden_two_stream_kinetics_degs

From that run directory, verify the artifacts with shasum -a 256 -c SHA256SUMS. The checkpoint.pt and hyperparameters.yaml at its root let DeepEthogram discover this model using its existing project layout.

To load directly in Python, set run_dir to the directory downloaded above:

from pathlib import Path
import torch
from deepethogram import utils

from deepethogram.feature_extractor.models.hidden_two_stream import deg_s
model = deg_s(num_classes=700, reload_imagenet=False)
run_dir = Path('/path/to/project/models/pretrained_models/200409_101808_hidden_two_stream_kinetics_degs')
state_dict, _, _ = utils.load_state_dict_from_file(run_dir / 'checkpoint.pt')
model.load_state_dict(state_dict, strict=True)
model.eval()
with torch.inference_mode():
    output = model(torch.zeros(1, 3, 11, 64, 64))

The zero-valued example checks shapes and loading. For real videos use DeepEthogram's video preprocessing and normalization. Historical settings are in hyperparameters.yaml; model_config.json summarizes architecture and input/output conventions.

Intended use and limitations

Use these weights to initialize feature-extractor training on your own labeled behavior videos, then train a sequence model. The 700-class pretraining head is not a classifier for your animal behavior labels. Kinetics class-index names and trained behavior thresholds are not supplied.

Historical YAML files contain old filesystem paths and legacy serialization tags; they are provenance records, not portable project configs. Checkpoints retain their original PyTorch serialization. Use DeepEthogram, rather than Transformers AutoModel, to load them.

This release contains initialization weights, not a complete trained behavior inference run: newer inference helpers expect config.yaml and associated metrics from your fine-tuned run. This complete checkpoint was already included in DeepEthogram’s test fixture archive. The older legacy bundle contains only a partial DEG-s snapshot; use this repository for DEG-s initialization.

Validation

SHA256SUMS covers the checkpoint, training hyperparameters, license and model configuration. Validated with PyTorch 2.4.1 and DeepEthogram source revision 1541eec6958f90673b79c402e10b434c8cb7c868: strict parameter loading and finite CPU outputs on the synthetic input above. This is a compatibility check, not an accuracy benchmark.

License and citation

LICENSE reproduces the original DeepEthogram Harvard Academic and Non-Commercial Research Use Software License and Terms of Use unchanged. It restricts commercial use and end-user redistribution. This mirror grants no additional permissions and does not relicense the assets; commercial inquiries should go to Harvard OTD as described in the license.

Bohnslav et al. (2021). DeepEthogram, a machine learning pipeline for supervised behavior classification from raw pixels. eLife 10:e63377. doi:10.7554/eLife.63377.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including jbohnslav/deepethogram-deg-s