|
--- |
|
title: LabelStudio |
|
emoji: π§ |
|
colorFrom: yellow |
|
colorTo: purple |
|
sdk: docker |
|
tags: |
|
- label-studio |
|
fullwidth: true |
|
license: apache-2.0 |
|
app_port: 8080 |
|
--- |
|
<img src="https://user-images.githubusercontent.com/12534576/192582340-4c9e4401-1fe6-4dbb-95bb-fdbba5493f61.png"/> |
|
|
|
[Website](https://hubs.ly/Q01CNgsd0) β’ [Docs](https://hubs.ly/Q01CN9Yq0) β’ [12K+ GitHub βοΈ!](https://hubs.ly/Q01CNbPQ0) β’ [Slack Community](https://hubs.ly/Q01CNb9H0) |
|
|
|
## What is Label Studio? |
|
|
|
Label Studio is an open source data labeling platform. It lets you label audio, |
|
text, images, videos, and time series data with a simple, straightforward, and |
|
highly-configurable user interface. Label Studio can prepare new data or |
|
improve existing training data to get more accurate ML models. |
|
|
|
|
|
## Label Studio in Hugging Face Spaces |
|
|
|
The Label Studio community is thrilled to offer Label Studio as a Hugging Face |
|
Spaces application. You can try the data-annotation interface, connect popular |
|
machine learning models, and share the application with collaborators. You can |
|
start immediately by creating an account or replicate the space and work in |
|
your own environment. |
|
|
|
## Creating a Use Account and Logging In |
|
|
|
Begin by creating a new account in the Label Studio space, then log in with your |
|
credentials. |
|
|
|
**By default, these spaces permit anyone to create a new login |
|
account, allowing them to view and modify project configuration, data sets, and |
|
annotations. Without any modifications, treat this space like a demo environment.** |
|
|
|
## Creating a Labeling Project |
|
|
|
After logging in, Label Studio will present you with a project view. Here you |
|
can create a new project with prompts to upload data and set up a custom |
|
configuration interface. |
|
|
|
**Note that in the default configuration, storage is local and temporary. Any |
|
projects, annotations, and configurations will be lost if the space is restarted.** |
|
|
|
## Next Steps and Additional Resources |
|
|
|
To help with getting started, the Label Studio community curated a list of |
|
resources including tutorials and documentation. |
|
|
|
- π [Zero to One with Label Studio Tutorial](https://labelstud.io/blog/introduction-to-label-studio-in-hugging-face-spaces/) |
|
- π [Try Label Studio Enterprise](https://hubs.ly/Q01CMLll0) |
|
- π€ [Tutorial: Using Label Studio with Hugging Face Datasets Hub](https://danielvanstrien.xyz/huggingface/huggingface-datasets/annotation/full%20stack%20deep%20learning%20notes/2022/09/07/label-studio-annotations-hub.html) |
|
- π‘ [Label Studio Docs](https://hubs.ly/Q01CN9Yq0) |
|
|
|
|
|
![Gif of Label Studio annotating different types of data](https://raw.githubusercontent.com/heartexlabs/label-studio/master/images/annotation_examples.gif) |
|
|
|
### Making your Label Studio Hugging Face Space production-ready |
|
|
|
By default this space allows for the unrestricted creation of new accounts |
|
will full access to all projects and data. This is great for trying out |
|
Label Studio and collaborating on projects, but you may want to restrict |
|
access to your space to only authorized users. Add the following environment |
|
variable to your spaces Dockerfile to disable public account creation for |
|
this space. |
|
|
|
ENV LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true |
|
|
|
Set secrets in your space to create an inital user, and log in with your |
|
provided username and password. Do not set these in your Dockerfile, as they |
|
globally visible on a public space. |
|
|
|
LABEL_STUDIO_USERNAME |
|
LABEL_STUDIO_PASSWORD |
|
|
|
You will need to provide new users with an invitation link to join the space, |
|
which can be found in the Organizations interface of Label Studio. |
|
|
|
By default this space stores all project configuration and data annotations |
|
in local storage with Sqlite. If the space is reset, all configuration and |
|
annotation data in the space will be lost. You can enable configuration |
|
persistence in one of two ways: |
|
|
|
1. Enabling Persistent Storage in your Space settings and configuring Label |
|
Studio to write its database and task storage there. |
|
|
|
2. Connecting an external Postgres database and cloud storage to your space, |
|
guaranteeing that all project and annotation settings are preserved. |
|
|
|
### Enabling Hugging Face Persistent Storage |
|
|
|
In the Hugging Face Label Studio Space settings, select the appropriate |
|
Persistent Storage tier. Note that Persistent Storage is a paid add-on. |
|
By default, persistent storage is mounted to /data. In your Space settings, |
|
set the following variables: |
|
|
|
LABEL_STUDIO_BASE_DATA_DIR=/data |
|
ENV STORAGE_PERSISTENCE=1 |
|
|
|
Your space will restart. NOTE: if you have existing settings and data, |
|
they will be lost in this first restart. Data and setting will only be |
|
preserved on subsequent restarts of the space. |
|
|
|
### Enabling Postgres Database and Cloud Storage |
|
|
|
Set the following secret variables to match your own hosted instance of |
|
Postgres. We strongly recommend setting these as secrets to prevent leaking |
|
information about your database service to the public in your spaces |
|
definition. |
|
|
|
DJANGO_DB=default |
|
POSTGRE_NAME=<postgres_name> |
|
POSTGRE_PORT=<db_port> |
|
POSTGRE_USER=<postgres_user> |
|
POSTGRE_PASSWORD=<password> |
|
POSTGRE_PORT=<db_port> |
|
POSTGRE_HOST=<db_host> |
|
|
|
Add the following environment variable to remove the warning about ephemeral |
|
storage. |
|
|
|
ENV STORAGE_PERSISTENCE=1 |
|
|
|
Note that you will need to connect cloud storage to host data items that you |
|
want to annotate, as local storage will not be preserved across a space reset. |
|
|
|
By default the only data storage enabled for this space is local. In the case |
|
of a space reset, all data will be lost. To enable permanent storage, you |
|
must enable a cloud storage connector. We also strongly recommend enabling |
|
configuration persistence to preserve project data, annotations, and user |
|
settings. Choose the appropriate cloud connector and configure the secrets |
|
for it. |
|
|
|
#### Amazon S3 |
|
STORAGE_TYPE=s3 |
|
STORAGE_AWS_ACCESS_KEY_ID="<YOUR_ACCESS_KEY_ID>" |
|
STORAGE_AWS_SECRET_ACCESS_KEY="<YOUR_SECRET_ACCESS_KEY>" |
|
STORAGE_AWS_BUCKET_NAME="<YOUR_BUCKET_NAME>" |
|
STORAGE_AWS_REGION_NAME="<YOUR_BUCKET_REGION>" |
|
STORAGE_AWS_FOLDER="" |
|
|
|
#### Google Cloud Storage |
|
|
|
STORAGE_TYPE=gcs |
|
STORAGE_GCS_BUCKET_NAME="<YOUR_BUCKET_NAME>" |
|
STORAGE_GCS_PROJECT_ID="<YOUR_PROJECT_ID>" |
|
STORAGE_GCS_FOLDER="" |
|
GOOGLE_APPLICATION_CREDENTIALS="/opt/heartex/secrets/key.json" |
|
|
|
Azure Blob Storage |
|
================== |
|
|
|
STORAGE_TYPE=azure |
|
STORAGE_AZURE_ACCOUNT_NAME="<YOUR_STORAGE_ACCOUNT>" |
|
STORAGE_AZURE_ACCOUNT_KEY="<YOUR_STORAGE_KEY>" |
|
STORAGE_AZURE_CONTAINER_NAME="<YOUR_CONTAINER_NAME>" |
|
STORAGE_AZURE_FOLDER="" |
|
|
|
|
|
## Questions? Concerns? Want to get involved? |
|
|
|
Email the community team at [[email protected]](mailto:[email protected]) |
|
|