v0.6.0
HumanSignal/label-studiov0.6.0May 8, 2020by niklub
AI Summary
Label Studio v0.6.0 introduces major improvements including nested labeling for hierarchical classification, per-region labeling for additional region attributes, and significantly enhanced ML backend integration with a new UI page for connecting and managing multiple ML backends. The release also adds filtering capabilities, display of label names on regions with prediction scores, and quality-of-life improvements like keeping the last label active.
Key Highlights
- Nested labeling enables hierarchical classification with attributes like `visibleWhen`, `whenTagName`, `whenLabelValue`, and `whenChoiceValue`
- Per-region labeling allows additional classification (Choices, TextArea, Rating) on labeled regions for audio segmentation and other data types
- ML backend now supports simple `.fit()/.predict()` script definition with new UI page for connecting multiple backends
- New Filter tag provides keyboard-driven search through labels and choices (shift+f to focus)
- Display label names on regions with optional prediction scores and sorting capability for verification
New Features
- Nested labeling with conditional visibility based on parent choice/label selection
- Per-region labeling for Choices, TextArea, and Rating control tags
- Simplified ML backend creation via `label-studio-ml start --init --script=model.py`
- New ML page in UI for connecting backends, triggering training, and testing predictions
- Support for multiple simultaneous ML backends via `--ml-backend url1 url2` command
- Filter tag for searching through Labels/Choices with keyboard navigation
- Display label names directly on labeled regions
- Model prediction scores with sorting capability for verification
- Keep last label active feature for repeated labeling of the same type
- Bug fixes: --host CLI argument, plain text upload, Google Cloud deployment, URL proxy safety
Full Release Notes
## Nested Labeling Nested labeling enables you to specify multiple classification options that show up after you’ve selected a connected parent class. It can match based on the selected Choice or Label value, and works with a `required` attribute too, smart selecting the region that you’ve not labeled. To try it out check [Choices](https://labelstud.io/tags/choices.html) documentation and look for the following attributes: `visibleWhen`, `whenTagName`, `whenLabelValue`, `whenChoiceValue`. ## Per region labeling With per region labeling you can now provide additional attributes to the labeled regions. For example, when doing audio segmentation you can further classify the region. Per region is available for any data type and the following control tags: [Choices](https://labelstud.io/tags/choices.html), [TextArea](https://labelstud.io/tags/textarea.html), and [Rating](https://labelstud.io/tags/rating.html). It nicely integrates with the nested labeling, for example, you can provide multiple levels of classification for any particular region. ## Machine learning backend updates - Creating & connecting machine learning backend becomes way easier - simply define your `model.py` script with `.fit() / .predict()` methods and run ML backend with `label-studio-ml start --init --script=model.py`. Check [quickstart](https://github.com/heartexlabs/label-studio/tree/master/label_studio/ml#quickstart) and tutorials on how to connect [sklearn]() and [PyTorch]() models - New [ML page](/model) in UI, where you can specify URLs to connect ML backends, manually trigger model training, explore training statuses and quickly check predictions by drag-n-dropping tasks.  - Label Studio now supports multiple ML backends connected together. You can simultaneously get multiple predictions for each task and do comparative performance analysis for different models or different hyperparameters of a single model. It's possible to connect as many backends as you want by using `--ml-backend url1 url2 ...` command line option or adding them via UI. ## Filtering When the number of labels or choices is big, looking for a particular one becomes tedious. New <Filter /> tag to the rescue. It works with any list of Labels / Choices, and is keyboard-driven. Here is an example of the interaction. Hitting `shift+f` puts focus, then hitting Enter key selects the first matching item. ## Display Label Names Displaying labels on top of the labeled regions proved to be a useful feature if you’d like to do a verification of the labeling. Visually inspecting the regions takes smaller amounts of time than doing so through switching between regions. ### Models Scores Along with the names of the labels you can provide a prediction score for specific regions. That score may either come from the data that you upload or from the model that you’ve connected. When it’s available you can **Sort by the score**, and quickly verify/adjust the labeling for the most “uncertain” regions. ## Keeping the label active If you label the same type of data it may be cumbersome to keep selecting the same label over and over again, now you can choose to keep the last label active and use it for new labeling. Don’t forget to unselect the region when you want to select a new label, otherwise, you’d change the label of the existing region. ## Bug fixes & improvements * --host argument now available via command-line argument (thanks to [@hachreak](https://github.com/hachreak)) * fixed upload with plain text tasks (thanks to [@gauthamsuresh09](https://github.com/gauthamsuresh09)) * fixed one-click deploy on Google Cloud (thanks to [@iCorv](https://github.com/iCorv)) * fixed URL paths for proxy safety (thanks to [ezavesky](https://github.com/ezavesky))