Releases: lightly-ai/lightly
SimSiam and bug fixes
SimSiam and bug fixes
SimSiam fixes
@gergopool noticed and fixed two minor issues with the SimSiam
implementation! Thanks a lot 🙂
Bug fix: Embedding doesn't work with prefetch generator
Fixed the bug introduced with #748 that the embedding images with lightly
didn't work when the prefetch_generator
package is installed.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- DINO: Emerging Properties in Self-Supervised Vision Transformers, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
Improved embedding progress bar, Label export, Docs improvements
Improved embedding progress bar, Export to Label, Docs improvements
Improved embedding progress bar
The embedding progress bar now shows the number of embedded images instead of embedded batches.
Label export
You can now use the ApiWorkflowClient
to export data from the LightlyPlatform as a .json file to be imported into a label tool.
Docs improvements
Some errors in the docs have been fixed.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- DINO: Emerging Properties in Self-Supervised Vision Transformers, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
DINO tricks, Imagenette benchmarks, API improvements
DINO tricks, Imagenette benchmarks, API improvements
DINO tricks
DINOHead now allows to freeze the last layer which stabilizes the model performance.
DINOHead now also allows to normalise the last layer.
This was implemented by @Atharva-Phatak. Thank you very much!
Imagenette benchmarks
We now include benchmarks of all models on Imagenette.
API Improvements
Better documentation of custom metadata
The CLI command to upload custom metadata is now included in the command line tool examples.
Better dataset upsizing
Upsizing a dataset in the Lightly Platform by adding more samples to it now cannot happen accidentally anymore, instead you have to specify append=True
. Furthermore, bugs regarding appending new custom metadata have been fixed.
Create ApiWorkflowClient with token from env
When creating an ApiWorkflowClient
, you can now pass the token as environment variable LIGHTLY_TOKEN
instead of as argument.
Bugfixes in check_embeddings()
When checking embedding files, now columns like masked
and selected
are accounted for properly.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- DINO: Emerging Properties in Self-Supervised Vision Transformers, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
Active Learning for Keypoint Detection and New API Workflows
Active Learning for Keypoint Detection and New API Workflows
Active Learning: Keypoint Detection
#707 added an active learning scorer for keypoint detection. This means that you can now do active learning for keypoint detection with Lightly!
New API Workflows
With #712 and #714 we added all the necessities to configure and run the compute worker from your Python code.
Access Shared Datasets
#722 makes it possible to access datasets which were shared with you in the Lightly web-app from your Python code as if they were your own.
Documentation
We made many smaller changes and fixes in the docs 🙂
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- DINO: Emerging Properties in Self-Supervised Vision Transformers, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
Bugfixes and Documentation Improvements
Bugfixes and Documentation Improvements
Bugfix in train_model_and_embed_images()
Fixed the bug that the train_model_and_embed_images()
function did not return the embeddings, filenames and labels. Thanks for finding this bug @opassos!
Bugfix in video loader
When using the video_loader backend of torchvision, it could fail when training for multiple epochs and had a linearly growing demand for memory and file handlers. This was fixed.
Documentation update in Readme.md
The benchmark table for CIFAR10 was fixed and the DINO model added to the list of supported models.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- DINO: Emerging Properties in Self-Supervised Vision Transformers, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
DINO and Updated Benchmarks
DINO:
We added support for the DINO model which works with ResNet and Transformer backbones! To get started head over to our examples section in the docs which contains example code for DINO using PyTorch and PyTorch Lightning.
Update Cifar10 Benchmarks
We updated the Cifar10 benchmarks with results for all models provided by Lightly. The benchmark does now only use low level blocks which we introduced in a previous release. You can find the updated benchmark results and code in our docs.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- DINO: Emerging Properties in Self-Supervised Vision Transformers, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
Faster Upload and more API methods
Faster Image Upload
When uploading images through the CLI interface we now by default use 8-32 threads to speed up the process. This setting can be controlled with using the loader.num_workers
argument.
Create Tags from Filenames
The ApiWorkflowClient
now has a create_tag_from_filenames
method which allows you easily to create a new tag on the Lightly Platform by passing a list of filenames.
Updated Visibility of Environment Variables in Docs
All environment variables in the docs should now be properly indicated using braces: {ENV_VARIABLE}
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
# Bug Fixes for Video datasets
Bug fixes for Video datasets
Make LightlyDataset threadsafe for videos
The VideoLoader now uses threading.local which allows the loader to be used from multiple threads.
LightlySubset of VideoDataset returns correct filenames
Resolved the bug when calling subset.get_filenames()
on the subset of a video dataset would return the filenames of the full dataset instead of the subset.
Download of videos allows restarting
We added retries to handle errors when downloading videos.
Getting video meta information allows ignoring metadata
When trying to find out meta information about a video like the number of frames or timestamps there are two ways:
- Try to read it from the metadata. However, sometimes this metadata is missing or false.
- Find it out by reading the video itself. This is computationally expensive
We now allow ignoring metadata and choosing the 2nd option, which is slower but guaranteed to give the correct data.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
Bug fixes
Bug fixes
Active learning scores from generators
Raise an error if the user intends to use active learning scores but they don't exist.
Clone labels to free file handlers
Resolved the bug where users running lightly-magic
on large datasets have gotten errors because of too many open files.
Wrap requests to S3 in retries
We added retries to handle 5XX errors according to best practices.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020
Multi-GPU support, format check for embedding file
Multi-GPU support, format check for embedding file
Multi-GPU
We now support using lightly with multiple GPUs. For reference, look at the docs.
Format check for embedding file
When trying to upload an embedding file to the Lightly Platform it is now checked to have the correct format: It must have the column names in the correct order and without whitespaces and must not have empty rows.
Models
- Bootstrap your own latent: A new approach to self-supervised Learning, 2020
- Barlow Twins: Self-Supervised Learning via Redundancy Reduction, 2021
- SimSiam: Exploring Simple Siamese Representation Learning, 2020
- MoCo: Momentum Contrast for Unsupervised Visual Representation Learning, 2019
- SimCLR: A Simple Framework for Contrastive Learning of Visual Representations, 2020
- NNCLR: Nearest-Neighbor Contrastive Learning of Visual Representations, 2021
- SwAV: Unsupervised Learning of Visual Features by Contrasting Cluster Assignments, M. Caron, 2020