Skip to content

[WIP] Integration with DeepLabCut 3.0 - PyTorch Engine #121

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 65 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
b11743c
Remove TensorFlow references
dikraMasrour Aug 9, 2024
c8f5839
Add comments on TF questions for changing dlc-live pipeline to Pytorch
AnnaStuckert Feb 24, 2025
030c42c
Vanilla pytorch inference done; Commenting out TensorFlow references …
dikraMasrour Feb 24, 2025
d75339a
change testing directory for Anna and allow to run on CPU
AnnaStuckert Feb 24, 2025
4de5829
Fix display, clean code, adapt frame processing, onnx inference
dikraMasrour Feb 24, 2025
40a9dd4
add screenshots
n-poulsen Feb 24, 2025
2fc48f1
Fix CPU inference crash + GPU (cuda) & CPU support for Pytorch and ON…
dikraMasrour Feb 24, 2025
125a072
Video analysis feature
AnnaStuckert Feb 24, 2025
9d2350e
Improvements on benchmark_pytorch.py
AnnaStuckert Feb 24, 2025
13b8fae
Implement TensorRT optimisation on ONNX models and FP16 precision inf…
dikraMasrour Feb 24, 2025
8b41df6
Avs live feed
AnnaStuckert Feb 24, 2025
d1e7df9
Tutorial notebook in progress
dikraMasrour Feb 24, 2025
2fb39fc
bug fixing h5 saving for live video feed
AnnaStuckert Feb 24, 2025
98b3a13
add code to save numbers in csv and h5 as numbers, not tensor(number)
AnnaStuckert Feb 24, 2025
e6a914a
add timestamp suffix to videos and csv/h5 files
AnnaStuckert Feb 24, 2025
29c8122
fix live inference and display, black and isort
dikraMasrour Feb 24, 2025
9508a79
cleaning out unused files
AnnaStuckert Feb 24, 2025
d61f892
update docstrings, clean dlclive script
dikraMasrour Feb 24, 2025
f527d38
Continued DeepLabCut-Live implementation for DeepLabCut 3.0
n-poulsen Sep 18, 2024
4c07e04
working on README
n-poulsen Feb 27, 2025
82daf43
improved docs
n-poulsen Feb 27, 2025
40005ae
improved docs for PyTorch code
n-poulsen Feb 27, 2025
c6a1f69
improved readme
n-poulsen Feb 27, 2025
d738a2c
fix default top down dynamic cropping parameters
n-poulsen Feb 27, 2025
9524092
Update README.md
MMathisLab May 5, 2025
6db3901
Update .gitignore
maximpavliv May 28, 2025
b7a527e
CI/CD update python version
maximpavliv May 30, 2025
8c2f1af
CI/CD update actions versions
maximpavliv May 30, 2025
15c1364
CI/CD update trigger events
maximpavliv May 30, 2025
4444e3d
CI/CD update MacOS version
maximpavliv May 30, 2025
0fefc95
dlclibrary set version to >=0.0.6
maximpavliv Jun 4, 2025
85ad7cb
Poetry lock
maximpavliv Jun 4, 2025
c479b11
Poetry lock
maximpavliv Jun 4, 2025
acd7e3e
Pyproject.toml update tensorflow installation
maximpavliv Jun 4, 2025
d70b7e8
Poetry lock
maximpavliv Jun 4, 2025
114c55a
Install specific tensorflow-io-gcs-filesystem for windows
maximpavliv Jun 4, 2025
6ed7faf
Poetry lock
maximpavliv Jun 4, 2025
594dee8
Update deprecated section name
maximpavliv Jun 4, 2025
b7e3ae2
Poetry lock
maximpavliv Jun 4, 2025
fb3424c
Merge branch 'maxim/fix_cicd' into dlclive3
maximpavliv Jun 4, 2025
751abea
Poetry lock
maximpavliv Jun 4, 2025
d27e8e1
CI/CD install Tensorflow
maximpavliv May 30, 2025
55def2e
Fix missing DLCLive precision attribute
maximpavliv May 30, 2025
87ac706
benchmark_pytorch fix imports order resulting in crash
maximpavliv Jun 3, 2025
d8f8eb0
Correct arg name
maximpavliv Jun 4, 2025
02c1a27
Benchmark pytorch: remove snapshot argument
maximpavliv Jun 5, 2025
fb1314e
Fix incorrect bbox unpacking
maximpavliv Jun 5, 2025
a00af6c
Benchmark pytorch: fix read config
maximpavliv Jun 5, 2025
58a094a
Benchmark pytorch: rename method
maximpavliv Jun 5, 2025
77c2f43
Benchmark pytorch: fix loop
maximpavliv Jun 5, 2025
2b7c520
Benchmark pytorch - update display params
maximpavliv Jun 5, 2025
45c85a5
Formatting
maximpavliv Jun 5, 2025
5b10eb1
Benchmark pytorch: change save_dir default value
maximpavliv Jun 5, 2025
7227c98
Benchmark pytorch: extract setup_video_writer()
maximpavliv Jun 5, 2025
ad62af4
Benchmark pytorch: extract draw_pose_and_write()
maximpavliv Jun 5, 2025
014b96b
Add detector_transform and pose_transform
maximpavliv Jun 11, 2025
e03fb1d
Display: fix multi-animal frame display
maximpavliv Jun 11, 2025
045de53
Benchmark pytorch: add single_animal arg
maximpavliv Jun 11, 2025
b493bef
Benchmark pytorch: dont setup videowriter if not needed
maximpavliv Jun 11, 2025
dfe5817
Benchmark pytorch: fix save_poses_to_files()
maximpavliv Jun 12, 2025
c6ee1ba
Benchmark pytorch: docstring
maximpavliv Jun 13, 2025
9b5d8f1
Benchmark pytorch: formatting
maximpavliv Jun 13, 2025
a29415d
Benchmark pytorch: introduce n_frames and progress bar
maximpavliv Jun 13, 2025
3660dcf
Benchmark pytorch: remove try-except block
maximpavliv Jun 13, 2025
f8fb374
Delete poetry.lock
MMathisLab Jun 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ jobs:
strategy:
# You can use PyPy versions in python-version. For example, pypy2 and pypy3
matrix:
python-version: [3.7, 3.8, 3.9]
python-version: ["3.10"]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
# You can test your matrix by printing the current Python version
Expand Down
18 changes: 10 additions & 8 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
name: Run Tests

on:
- push
- pull_request
push:
branches: [master]
pull_request:
branches: [master]

jobs:
build:
Expand All @@ -11,22 +13,22 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-11, windows-latest]
python-version: ["3.7", "3.8", "3.9", "3.10"] #3.9 only failing for tables on macos and windows; mwm 6302021
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.10"]
include:
- os: ubuntu-latest
path: ~/.cache/pip
- os: macos-11
- os: macos-latest
path: ~/Library/Caches/pip
- os: windows-latest
path: ~\AppData\Local\pip\Cache

steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install ffmpeg
Expand All @@ -43,5 +45,5 @@ jobs:
- name: Install and test
run: |
python -m pip install --upgrade pip wheel poetry
python -m poetry install
python -m poetry install --extras "tf"
python -m poetry run dlc-live-test --nodisplay
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,10 @@ venv.bak/
.spyderproject
.spyproject

# IDEs configurations
.vscode/*
.idea/*

# Rope project settings
.ropeproject

Expand Down
261 changes: 193 additions & 68 deletions README.md

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions dlclive/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Licensed under GNU Lesser General Public License v3.0
"""

from dlclive.version import __version__, VERSION
from dlclive.display import Display
from dlclive.dlclive import DLCLive
from dlclive.processor import Processor
from dlclive.benchmark import benchmark, benchmark_videos, download_benchmarking_data
from dlclive.processor.processor import Processor
from dlclive.version import VERSION, __version__
Loading