Skip to main content

Neural network backend for training and inference for animal pose estimation.

Project description

sleap-nn

CI codecov Release PyPI PyPI - Python Version

Neural network backend for training and inference for animal pose estimation.

This is the deep learning engine that powers SLEAP (Social LEAP Estimates Animal Poses), providing neural network architectures for multi-instance animal pose estimation and tracking. Built on PyTorch, SLEAP-NN offers an end-to-end training workflow, supporting multiple model types (Single Instance, Top-Down, Bottom-Up, Multi-Class), and seamless integration with SLEAP's GUI and command-line tools.

Need a quick start? Refer to our Quick Start guide in the docs.

Documentation

📚 Documentation - Comprehensive guides and API reference

For development setup

  1. Clone the sleap-nn repo
git clone https://github.com/talmolab/sleap-nn.git
cd sleap-nn
  1. Install uv Install uv first - a fast Python package manager:
# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
  1. Install sleap-nn dependencies based on your platform\

Python 3.14 is not yet supported

sleap-nn currently supports Python 3.11, 3.12, and 3.13.
Python 3.14 is not yet tested or supported.
By default, uv will use your system-installed Python.
If you have Python 3.14 installed, you must specify the Python version (≤3.13) in the install command.

For example:

uv sync --python 3.13 ...

Replace ... with the rest of your install command as needed.

  • Sync all dependencies based on your correct wheel using uv sync. uv sync creates a .venv (virtual environment) inside your current working directory. This environment is only active within that directory and can't be directly accessed from outside. To use all installed packages, you must run commands with uv run (e.g., uv run sleap-nn train ... or uv run pytest ...).

    • Windows/Linux with NVIDIA GPU (CUDA 13.0):
    uv sync --extra torch-cuda130
    
    • Windows/Linux with NVIDIA GPU (CUDA 12.8):
    uv sync --extra torch-cuda128
    
    • Windows/Linux with NVIDIA GPU (CUDA 11.8):
    uv sync --extra torch-cuda118
    
    • macOS with Apple Silicon (M1, M2, M3, M4) or CPU-only (no GPU or unsupported GPU): Note: Even if torch-cpu is used on macOS, the MPS backend will be available.
    uv sync --extra torch-cpu
    
  1. Run tests

    uv run pytest tests
    
  2. (Optional) Lint and format code

    uv run black --check sleap_nn tests
    uv run ruff check sleap_nn/
    

Upgrading All Dependencies To ensure you have the latest versions of all dependencies, use the --upgrade flag with uv sync:

uv sync --upgrade

This will upgrade all installed packages in your environment to the latest available versions compatible with your pyproject.toml.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sleap_nn-0.1.0a0.tar.gz (19.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sleap_nn-0.1.0a0-py3-none-any.whl (244.8 kB view details)

Uploaded Python 3

File details

Details for the file sleap_nn-0.1.0a0.tar.gz.

File metadata

  • Download URL: sleap_nn-0.1.0a0.tar.gz
  • Upload date:
  • Size: 19.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sleap_nn-0.1.0a0.tar.gz
Algorithm Hash digest
SHA256 0ac9e6d854170f80610486c83fbf048b7a6b304475998ba0f87a55d83886407e
MD5 edbd83448729f1f4225325a1f535b8f8
BLAKE2b-256 2c421be22601af394b4a14d87e19baba901b496c6dfc67f516139d412ed275bf

See more details on using hashes here.

File details

Details for the file sleap_nn-0.1.0a0-py3-none-any.whl.

File metadata

  • Download URL: sleap_nn-0.1.0a0-py3-none-any.whl
  • Upload date:
  • Size: 244.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.9.24 {"installer":{"name":"uv","version":"0.9.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sleap_nn-0.1.0a0-py3-none-any.whl
Algorithm Hash digest
SHA256 9824b6ed74d9dc52a5d731a577595ac2b8291ade319d636b2bc4e5d365f54f8a
MD5 3e4dbbdc7a3dce3f286f0b1ea7e39a7e
BLAKE2b-256 7c0811a4206954f770953d950be34d01cc3f39086ed16f350556e171595f6fea

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page