Releases: talmolab/sleap
SLEAP v1.1.0a9
Pre-release of SLEAP v1.1.0 update.
In this update, we have updated TensorFlow to 2.3, overhauled the inference module for performance and much more. See the highlights and full list of changes below.
Highlights
- 2-8x performance improvements in inference
- 32 new pretrained neural network backbones
- Learnable offset regression for subpixel localization
- High-level API for labels and model loading:
sleap.load_file()andsleap.load_model() - Linux conda package and smaller package size for updates
Changelog
- Update to TensorFlow 2.3.1.
- Implement top-down, bottom-up and single-instance model inference as self-contained
tf.keras.Models (sleap.nn.inference.InferenceModelbase class). - Re-implement peak finding and refinement with batch-level functions for improved performance.
- Re-implement PAF grouping methods for batch-level inference and drastically improved test coverage.
- Add pipeline utility methods
peek()anddescribe()to query the output asleap.data.Pipeline. - Color by track when plotting with
LabeledFrame.plot()method and tracks are available. - Add slice indexing to
sleap.Labels. - Better string representations for core data structures
Labels,LabeledFrameand `Skeleton. - Fix
sleap.nn.evals.evaluate_model()saving even withsave=Falsespecified. - Add
RandomCroppertransformer for augmentation. sleap.nn.data.pipelinesandsleap.nn.inferencesubmodules now available as top-level imports (sleap.pipelinesandsleap.inference).sleap.nn.viz.plot_instance()now accepts raw point arrays.- Switch to
tf.data.Dataset.cache()for preloading transformer. - Add
LambdaMapfor user-function transformer creation. - Add high level model loading interface (
sleap.load_model()) - Switch to using external conda packages for TensorFlow and PySide2.
- Switch to GitHub Actions for CI and builds.
- Add pretrained encoder UNet-style model backbones based on qubvel/segmentation_models (#435)
- Breaking
sleap.nn.inferencechanges (#445)- API change:
TopDownModel->TopDownInferenceModel - API change:
Predictor.predict()no longer hasmake_instanceskwarg
- API change:
- Added some GPU-related aliases to top-level imports (#446)
sleap.use_cpu_only(): Disable GPU use.sleap.disable_preallocation(): Disable preallocation of entire GPU memory which causes crashes on some systems.sleap.system_summary(): Print a summary of GPUs detected on the system and their state.
- Import folders of (ma)DLC labeled data with multiple videos (#437)
- Implement trainable offset regression (#447)
- Fix GUI freezing in Mac OS Big Sur (#450)
- Fix single instance inference and RGB video detection (#459)
Installing
We strongly recommend using Miniconda to install and manage your Python environments. This will also make GPU support work transparently without installing additional dependencies.
Using Conda (Windows/Linux)
- Delete any existing environment and start fresh (recommended):
conda env remove -n sleap_alpha
- Create new environment
sleap_alpha(recommended):
conda create -n sleap_alpha -c sleap/label/dev sleap=1.1.0a9
Or to update inside an existing environment:
conda install -c sleap/label/dev sleap=1.1.0a9
Using PyPI (Windows/Linux/Mac)
- Create a new conda environment (recommended):
conda create -n sleap_alpha python=3.6
conda activate sleap_alpha
- Install from PyPI:
pip install sleap==1.1.0a9
Or to upgrade an existing installation:
pip install --upgrade --force-reinstall sleap==1.1.0a9
From source (development)
- Clone the repository at this tag:
git clone https://github.com/murthylab/sleap --branch v1.1.0a9 sleap_v1.1.0a9
cd sleap_v1.1.0a9
- Install conda environment and activate:
conda install -f environment.yml -n sleap_v1.1.0a9
conda activate sleap_v1.1.0a9
- Changes made in the code will be immediately reflected when running SLEAP in this environment.
SLEAP v1.1.0a8
Pre-release of SLEAP v1.1.0 update.
In this update, we have updated TensorFlow to 2.3, overhauled the inference module for performance and much more. See the highlights and full list of changes below.
Highlights
- 2-8x performance improvements in inference
- 32 new pretrained neural network backbones
- Learnable offset regression for subpixel localization
- High-level API for labels and model loading:
sleap.load_file()andsleap.load_model() - Linux conda package and smaller package size for updates
Changelog
- Update to TensorFlow 2.3.1.
- Implement top-down, bottom-up and single-instance model inference as self-contained
tf.keras.Models (sleap.nn.inference.InferenceModelbase class). - Re-implement peak finding and refinement with batch-level functions for improved performance.
- Re-implement PAF grouping methods for batch-level inference and drastically improved test coverage.
- Add pipeline utility methods
peek()anddescribe()to query the output asleap.data.Pipeline. - Color by track when plotting with
LabeledFrame.plot()method and tracks are available. - Add slice indexing to
sleap.Labels. - Better string representations for core data structures
Labels,LabeledFrameand `Skeleton. - Fix
sleap.nn.evals.evaluate_model()saving even withsave=Falsespecified. - Add
RandomCroppertransformer for augmentation. sleap.nn.data.pipelinesandsleap.nn.inferencesubmodules now available as top-level imports (sleap.pipelinesandsleap.inference).sleap.nn.viz.plot_instance()now accepts raw point arrays.- Switch to
tf.data.Dataset.cache()for preloading transformer. - Add
LambdaMapfor user-function transformer creation. - Add high level model loading interface (
sleap.load_model()) - Switch to using external conda packages for TensorFlow and PySide2.
- Switch to GitHub Actions for CI and builds.
- Add pretrained encoder UNet-style model backbones based on qubvel/segmentation_models (#435)
- Breaking
sleap.nn.inferencechanges (#445)- API change:
TopDownModel->TopDownInferenceModel - API change:
Predictor.predict()no longer hasmake_instanceskwarg
- API change:
- Added some GPU-related aliases to top-level imports (#446)
sleap.use_cpu_only(): Disable GPU use.sleap.disable_preallocation(): Disable preallocation of entire GPU memory which causes crashes on some systems.sleap.system_summary(): Print a summary of GPUs detected on the system and their state.
- Import folders of (ma)DLC labeled data with multiple videos (#437)
- Implement trainable offset regression (#447)
- Fix GUI freezing in Mac OS Big Sur (#450)
Installing
We strongly recommend using Miniconda to install and manage your Python environments. This will also make GPU support work transparently without installing additional dependencies.
Using Conda (Windows/Linux)
- Delete any existing environment and start fresh (recommended):
conda env remove -n sleap_alpha
- Create new environment
sleap_alpha(recommended):
conda create -n sleap_alpha -c sleap/label/dev sleap=1.1.0a8
Or to update inside an existing environment:
conda install -c sleap/label/dev sleap=1.1.0a8
Using PyPI (Windows/Linux/Mac)
- Create a new conda environment (recommended):
conda create -n sleap_alpha python=3.6
conda activate sleap_alpha
- Install from PyPI:
pip install sleap==1.1.0a8
From source (development)
- Clone the repository at this tag:
git clone https://github.com/murthylab/sleap --branch v1.1.0a8 sleap_v1.1.0a8
cd sleap_v1.1.0a8
- Install conda environment and activate:
conda install -f environment.yml -n sleap_v1.1.0a8
conda activate sleap_v1.1.0a8
- Changes made in the code will be immediately reflected when running SLEAP in this environment.
SLEAP v1.1.0a7
Pre-release of SLEAP v1.1 update.
In this update, we have updated TensorFlow to 2.3 and overhauled the inference module.
Highlights
- 2-8x performance improvements in inference!
- High-level data and model methods
- Linux conda package and smaller package size for updates
Changelog
- Update to TensorFlow 2.3.1.
- Implement top-down, bottom-up and single-instance model inference as self-contained
tf.keras.Models (sleap.nn.inference.InferenceModelbase class). - Re-implement peak finding and refinement with batch-level functions for improved performance.
- Re-implement PAF grouping methods for batch-level inference and drastically improved test coverage.
- Add pipeline utility methods
peek()anddescribe()to query the output asleap.data.Pipeline. - Color by track when plotting with
LabeledFrame.plot()method and tracks are available. - Add slice indexing to
sleap.Labels. - Better string representations for core data structures
Labels,LabeledFrameand `Skeleton. - Fix
sleap.nn.evals.evaluate_model()saving even withsave=Falsespecified. - Add
RandomCroppertransformer for augmentation. sleap.nn.data.pipelinesandsleap.nn.inferencesubmodules now available as top-level imports (sleap.pipelinesandsleap.inference).sleap.nn.viz.plot_instance()now accepts raw point arrays.- Switch to
tf.data.Dataset.cache()for preloading transformer. - Add
LambdaMapfor user-function transformer creation. - Add high level model loading interface (
sleap.load_model()) - Switch to using external conda packages for TensorFlow and PySide2.
- Switch to GitHub Actions for CI and builds.
Installing
Using Conda (Windows/Linux)
Create new environment sleap_alpha (recommended):
conda create -n sleap_alpha -c sleap -c sleap/label/dev sleap=1.1.0a7
To update inside an existing environment:
conda install -c sleap -c sleap/label/dev sleap=1.1.0a7
Using PyPI (Windows/Linux/Mac)
pip install sleap==1.1.0a7
SLEAP v1.0.10
Release of minor version update with performance tweaks and bug fixes.
Changelog
- Update to TensorFlow 2.1.2 (security patch)
- Switch to ID-based hashing for
LabeledFrame. This dramatically increases the performance of frame manipulation operations. - Several convenience methods for
sleap.Labels:- Add
describemethod to Labels for easy inspection of dataset stats - Add
has_framemethod to Labels for quick checking of frame existence - Add
remove_user_instancesandremove_predictionsfor quick dataset cleanup
- Add
- Remove predicted instances in existing frames before merging in active learning results (fixes #413)
- Conda
environment.ymlclean-up: de-duplicates dependencies managed bypip - Set h5py version requirement to 2.10.0 to prevent TensorFlow model loading issue
- Added experimental maDLC CSV labels importing support (#412)
- Keep previous zoom state when navigating across frames with fit to instances (#416)
- Add head type to the run name suffix when saving a training pipeline to prevent overwriting models (#415)
- Update built-in baseline profiles
- Remove dataset specific fields (e.g., "anchor_part")
- Add medium/large RF variants
- Remove unused profiles
- Disable tensorboard logging by default
- Standardize optimization parameters
- Add convenience methods for generating and interacting with exported packages
HDF5Videos now havehas_embedded_images,source_video_available, andembedded_frame_indsproperties to check for embedded imagesHDF5Videonow auto-detects the exported package format, indicated by having sub-datasets named "/video" and "/frame_numbers"Labels.save_fileandLabels.savenow provide options for saving images for allLabeledFrames or suggestions
- Release checking
- Help menu now displays the latest versions of SLEAP and links to the webpage
- Menu re-organization and cleanup
- Fix GUI skeleton not updating when skeleton updates after inference (#414)
Installing
Using Conda (Windows):
Create new environment sleap (recommended):
conda create -n sleap -c sleap sleap=1.0.10
or to update inside an existing environment:
conda install -c sleap sleap=1.0.10
Using PyPI (Linux/Mac):
pip install sleap==1.0.10
SLEAP v1.1.0a6
Pre-release of SLEAP v1.1.
Changelog
- Update to TensorFlow 2.3.1
Installing
Do not use this release. This is a test.
SLEAP v1.1.0a5
Pre-release of SLEAP v1.1.
Changelog
- Update to TensorFlow 2.3.1
Installing
Do not use this release. This is a test.
SLEAP v1.1.0a4
Pre-release of SLEAP v1.1.
Changelog
- Update to TensorFlow 2.3.1
Installing
Do not use this release. This is a test.
SLEAP v1.1.0a3
Pre-release of SLEAP v1.1.
Changelog
- Update to TensorFlow 2.3.1
Installing
Do not use this release. This is a test.
SLEAP v1.1.0a2
Pre-release of SLEAP v1.1.
Changelog
- Update to TensorFlow 2.3.1
Installing
Do not use this release. This is a test.
SLEAP v1.0.10a9
Pre-release of minor version update with performance tweaks and bug fixes.
Changelog
- Update to TensorFlow 2.1.2 (security patch)
- Switch to ID-based hashing for
LabeledFrame. This dramatically increases the performance of frame manipulation operations. - Several convenience methods for
sleap.Labels:- Add
describemethod to Labels for easy inspection of dataset stats - Add
has_framemethod to Labels for quick checking of frame existence - Add
remove_user_instancesandremove_predictionsfor quick dataset cleanup
- Add
- Remove predicted instances in existing frames before merging in active learning results (fixes #413)
- Conda
environment.ymlclean-up: de-duplicates dependencies managed bypip - Set h5py version requirement to 2.10.0 to prevent TensorFlow model loading issue
- Added experimental maDLC CSV labels importing support (#412)
- Keep previous zoom state when navigating across frames with fit to instances (#416)
- Add head type to the run name suffix when saving a training pipeline to prevent overwriting models (#415)
- Update built-in baseline profiles
- Remove dataset specific fields (e.g., "anchor_part")
- Add medium/large RF variants
- Remove unused profiles
- Disable tensorboard logging by default
- Standardize optimization parameters
- Add convenience methods for generating and interacting with exported packages
HDF5Videos now havehas_embedded_images,source_video_available, andembedded_frame_indsproperties to check for embedded imagesHDF5Videonow auto-detects the exported package format, indicated by having sub-datasets named "/video" and "/frame_numbers"Labels.save_fileandLabels.savenow provide options for saving images for allLabeledFrames or suggestions
- Release checking
- Help menu now displays the latest versions of SLEAP and links to the webpage
- Menu re-organization and cleanup
- Fix GUI skeleton not updating when skeleton updates after inference (#414)
Installing
Using Conda (Windows):
Create new environment sleap_alpha (recommended):
conda create -n sleap_alpha -c sleap/label/dev sleap=1.0.10a9
or to update inside an existing environment:
conda install -c sleap/label/dev sleap=1.0.10a9
Using PyPI (Linux/Mac):
pip install sleap==1.0.10a9