File size: 6,752 Bytes
cc18d4d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
---
title: LabelStudio
emoji: 🟧
colorFrom: yellow
colorTo: purple
sdk: docker
tags:
- label-studio
fullwidth: true
license: apache-2.0
app_port: 8080
duplicated_from: LabelStudio/LabelStudio
---
<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 [community@labelstud.io](mailto:community@labelstud.io)