Skip to main content

image

VAME (Variational Animal Motion Embedding) is an open-source machine learning tool for behavioral action segmentation and analyses.

Read the documentation and the open-access 2024 Resource article in Cell Reports.

We are a group of behavioral enthusiasts, comprising the original VAME developers Kevin Luxem and Pavol Bauer; behavioral neuroscientists Stephanie R. Miller, Jorge J. Palop; statisticians Alex Pico, Reuben Thomas; machine learning researchers Pranav Nambiar, Katie Ly, Shreya Bangera, Dakota Mallen, Zhihao Cheng; and CatalystNeuro software engineer team Ben Dichter and Luiz Tauffer. Our aim is to provide scalable, unbiased and sensitive approaches for assessing mouse behavior using computer vision and machine learning approaches.

We are focused on expanding the analytical capabilities of VAME segmentation by providing curated scripts for VAME implementation and tools for data processing, visualization, and statistical analyses.

VAME in a Nutshell

VAME is a framework to cluster behavioral signals obtained from pose-estimation tools. It is a PyTorch-based deep learning framework which leverages the power of recurrent neural networks (RNN) to model sequential data. In order to learn the underlying complex data distribution, we use the RNN in a variational autoencoder setting to extract the latent state of the animal in every step of the input time series. The step-by-step guide walks through each step of the VAME workflow.

Main Features

  • Reads pose estimation data from DeepLabCut, SLEAP, LightningPose, NWB files (via the ndx-pose extension) and movement datasets
  • Streams NWB pose data directly from DANDI, see Read from DANDI
  • Preprocessing: low-confidence cleaning, egocentric alignment, outlier cleaning, Savitzky-Golay filtering and body-size rescaling
  • Learns a low-dimensional latent representation of pose estimation time series with a recurrent variational autoencoder
  • Segmentation into behavioral motifs with HMM or k-means
  • Hierarchical community analysis of motifs
  • Visualizations: UMAP embeddings, motif and community videos, community trees and reports
  • Export of results to NWB (via the ndx-vame extension), see Export results

Installation

VAME requires Python 3.12 or higher. It runs on Linux, Windows and macOS on Apple Silicon. Intel Macs are not supported, because PyTorch no longer publishes builds for them.

pip install vame-py

To read pose data from DANDI, install the dandi extra:

pip install "vame-py[dandi]"

See the installation guide for installing from source.

Getting Started

Follow the step-by-step guide, or run the whole workflow with the pipeline. Both are also available as notebooks in the examples folder.

VAME trains on a GPU when one is available (CUDA or Apple MPS) and falls back to the CPU otherwise.

VAME App

VAME App is a web application for running the VAME workflow without writing code. It runs locally, calls this library from a Python backend, and is used from the browser. Install it with pip install vame-app. See the VAME App documentation for details.

Authors and Code Contributors

VAME was developed by Kevin Luxem and Pavol Bauer (Luxem et al., 2022). The original VAME repository was deprecated, forked, and is now being maintained here at https://github.com/EthoML/VAME.

The development of VAME is heavily inspired by DeepLabCut. As such, the VAME project management codebase has been adapted from the DeepLabCut codebase. The DeepLabCut 2.0 toolbox is © A. & M.W. Mathis Labs deeplabcut.org, released under LGPL v3.0. The implementation of the VRAE model is partially adapted from the Timeseries clustering repository developed by Tejas Lodaya.

Citing VAME

If you use VAME in your work, please cite:

  • Miller, S. R., Luxem, K., Lauderdale, K., et al. (2024). Machine learning reveals prominent spontaneous behavioral changes and treatment efficacy in humanized and transgenic Alzheimer's disease models. Cell Reports, 43(11), 114870. https://doi.org/10.1016/j.celrep.2024.114870
  • Luxem, K., Mocellin, P., Fuhrmann, F., Kürsch, J., Miller, S. R., Palop, J. J., Remy, S., & Bauer, P. (2022). Identifying behavioral structure from deep variational embeddings of animal motion. Communications Biology, 5, 1267. https://doi.org/10.1038/s42003-022-04080-7

Support

Report bugs and ask questions in the issue tracker.

License

VAME is released under the GPLv3 license. See the LICENSE file for the full statement.

Metadata

Release files for vame-py 0.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vame-py 0.15.0
File Size Uploaded Provenance Actions
vame_py-0.15.0.tar.gz 129.2 kB Without provenance Details for vame_py-0.15.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for vame-py 0.15.0
File Interpreter ABI Platform Actions
vame_py-0.15.0-py3-none-any.whl Python 3 none any Details for vame_py-0.15.0-py3-none-any.whl

Total release size: 274.3 kB

Release files / vame_py-0.15.0.tar.gz

Download URL vame_py-0.15.0.tar.gz
Size 129.2 kB
Tags Source
SHA-256 checksum
How to use checksums
0442cf24830e86dbbad3656c8f9e4538ad0c698ffb7126707c058e43cebdff37
BLAKE2b-256 checksum
How to use checksums
d25c428d44f3de88c4f0feb2ca9d6f8e037ebe5dcb99caadf814f61d9619d32c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / vame_py-0.15.0-py3-none-any.whl

Download URL vame_py-0.15.0-py3-none-any.whl
Size 145.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
25e3c497ef251a385b3fbc1a73dd3b498f12ea5466fd4b26f7ad62af414c4fad
BLAKE2b-256 checksum
How to use checksums
8988aa280b1fa63dbc66e2544aa3c0048f195a63a8cf2efe0f5570b203038e8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for vame-py 0.15.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page