Label data at scale. Fun and precision included.
Project description
Explore and label on a map of raw data.
Get enough to feed your model in no time.
hover
speeds up data labeling through embedding + visualization + callbacks
.
- all you need to supply is raw data and a vectorizer function.
:sparkles: Features
-
:telescope: A 2D-embedded view of your dataset for labeling, equipped with
- Tooltip for each point and table view for groups of points.
- Search widgets for ad-hoc highlight of data matching search criteria.
- Toggle buttons that clearly distinguish data subsets ("raw"/"train"/"dev"/"test").
-
:microscope: Supplementary views to provide further labeling precision, such as
- Advanced search view which can filter points by search criteria and provides stronger highlight.
- Active learning view which puts a model in the loop and can filter by confidence score.
- Function-based view which can leverage custom functions for labeling and filtering.
Check out @phurwicz/hover-binder for a list of demo apps.
:rocket: Quickstart
- Example script with walkthrough, ready to run in the browser
- Example hosted on Binder
:package: Install
Python: 3.7+
OS: Linux & Mac & Windows
To get the latest release version: pip install hover
Starting on version 0.6.0, we are also on conda: conda install -c conda-forge hover
For Windows users, we recommend Windows Subsystem for Linux.
- On Windows itself you will need C++ build tools for dependencies like
umap-learn
.
:book: Resources
:flags: Project News
- Feb 12, 2022 version 0.6.0 is now available. Check out the changelog for details :partying_face:. Some tl-dr for the impatient:
- you can now edit selections, like kicking points from current selection or updating cells on the fly.
- you can now make cumulative selections.
SupervisableDataset
no longer maintains lists of dictionaries, but does everything through dataframes.active_learning
now takes aVectorNet
directly.snorkel_crosscheck
allows you to label and filter through functions. You can change those functions dynamically without having to replot!
:bell: Remarks
Shoutouts
- Thanks to
Bokeh
becausehover
would not exist without linked plots and callbacks, or be nearly as good without embeddable server apps. - Thanks to Philip Vollet for sharing
hover
with the community even when it was really green.
Contributing
- All feedbacks are welcome :hugs: Especially what you find frustrating and want fixed!
./requirements-dev.txt
lists required packages for development.- Pull requests are advised to use a superset of the pre-commit hooks listed in .pre-commit-config.yaml.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hover-0.6.0.tar.gz
.
File metadata
- Download URL: hover-0.6.0.tar.gz
- Upload date:
- Size: 60.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26b9b4bcc4582a88910b14240002d88fe05b9e816db52a93202691ec72f26055 |
|
MD5 | b32c0b19f3c6b6ce34183049e0489e86 |
|
BLAKE2b-256 | 8c9538dd07e5f4c3d55b197b3187df9a40d129eb9c2b6a7e1c044769fe41dcfd |
File details
Details for the file hover-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: hover-0.6.0-py3-none-any.whl
- Upload date:
- Size: 66.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84267fd6d7e6e5bfc36c14e02659b20faf92f217544db77d4cb55322033aea3d |
|
MD5 | ef73afb97398ca752ba5d345f70618da |
|
BLAKE2b-256 | ba8bea28aafc0efe4bcf7c3105721e74f493ec24686636e2caeeaf115b64fa96 |