henrystoll hogepodge commited on
Commit
e2205d5
0 Parent(s):

Duplicate from LabelStudio/LabelStudio

Browse files

Co-authored-by: Chris Hoge <hogepodge@users.noreply.huggingface.co>

Files changed (3) hide show
  1. .gitattributes +34 -0
  2. Dockerfile +127 -0
  3. README.md +168 -0
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,127 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM heartexlabs/label-studio:hf-latest
2
+
3
+ ################################################################################
4
+ #
5
+ # How to Disable Public Account Creation
6
+ # --------------------------------------
7
+ # By default this space allows for the unrestricted creation of new accounts
8
+ # will full access to all projects and data. This is great for trying out
9
+ # Label Studio and collaborating on projects, but you may want to restrict
10
+ # access to your space to only authorized users. Uncomment the following line
11
+ # to disable public account creation for this space.
12
+ #
13
+ # ENV LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true
14
+ #
15
+ # Set secrets in your space to create an inital user, and log in with your
16
+ # provided username and password. Do not set these in your Dockerfile, as they
17
+ # globally visible on a public space.
18
+ #
19
+ # LABEL_STUDIO_USERNAME
20
+ # LABEL_STUDIO_PASSWORD
21
+ #
22
+ # You will need to provide new users with an invitation link to join the space.
23
+ #
24
+ ################################################################################
25
+
26
+ ################################################################################
27
+ #
28
+ # How to Enable Persistent Storage for Label Studio in Hugging Face Spaces
29
+ # ------------------------------------------------------------------------
30
+ #
31
+ # By default this space stores all project configuration and data annotations
32
+ # in local storage with sqlite. If the space is reset, all configuration and
33
+ # annotation data in the space will be lost. You can enable configuration
34
+ # persistence through one of two methods:
35
+ #
36
+ # 1) Enabling Hugging Face Persistent Storage for saving project and annotation
37
+ # settings, as well as local task storage.
38
+ # 2) Connecting an external Postgres database for saving project and annotation
39
+ # settings, and cloud by connecting cloud storage for tasks.
40
+ #
41
+ ################################################################################
42
+
43
+ ################################################################################
44
+ #
45
+ # How to Enable Hugging Face Persistent Storage for Label Studio
46
+ # --------------------------------------------------------------
47
+ #
48
+ # In the Hugging Face Label Studio Space settings, select the appropriate
49
+ # Persistent Storage tier. Note that Persistent Storage is a paid add-on.
50
+ # By default, persistent storage is mounted to /data. In your Space settings,
51
+ # set the following variables:
52
+ #
53
+ # LABEL_STUDIO_BASE_DATA_DIR=/data
54
+ # ENV STORAGE_PERSISTENCE=1
55
+ #
56
+ # Your space will restart. NOTE: if you have existing settings and data,
57
+ # they will be lost in this first restart. Data and setting will only be
58
+ # preserved on subsequent restarts of the space.
59
+ #
60
+ ################################################################################
61
+
62
+ ################################################################################
63
+ #
64
+ # How to Enable Configuration Persistence with Postgres
65
+ # -----------------------------------------------------
66
+ #
67
+ # Set the following secret variables to match your own hosted instance of
68
+ # Postgres. We strongly recommend setting these as secrets to prevent leaking
69
+ # information about your database service to the public in your spaces
70
+ # definition.
71
+ #
72
+ # ENV DJANGO_DB=default
73
+ # ENV POSTGRE_NAME=<postgres_name>
74
+ # ENV POSTGRE_PORT=<db_port>
75
+ # ENV POSTGRE_USER=<postgres_user>
76
+ # ENV POSTGRE_PASSWORD=<password>
77
+ # ENV POSTGRE_PORT=<db_port>
78
+ # ENV POSTGRE_HOST=<db_host>
79
+ #
80
+ # Uncomment the following line or set the following Space variable to remove
81
+ # the warning about ephemeral storage
82
+ #
83
+ # ENV STORAGE_PERSISTENCE=1
84
+ #
85
+ # Note that you will need to connect cloud storage to host data items that you
86
+ # want to annotate, as local storage will not be preserved across a space reset.
87
+ #
88
+ #
89
+ # How to Enable Cloud Storage
90
+ # ---------------------------
91
+ # By default the only data storage enabled for this space is local. In the case
92
+ # of a space reset, all data will be lost. To enable permanent storage, you
93
+ # must enable a cloud storage connector. We also strongly recommend enabling
94
+ # configuration persistence to preserve project data, annotations, and user
95
+ # settings. Choose the appropriate cloud connector and configure the secrets
96
+ # for it.
97
+ #
98
+ # Amazon S3
99
+ # =========
100
+ # STORAGE_TYPE=s3
101
+ # STORAGE_AWS_ACCESS_KEY_ID="<YOUR_ACCESS_KEY_ID>"
102
+ # STORAGE_AWS_SECRET_ACCESS_KEY="<YOUR_SECRET_ACCESS_KEY>"
103
+ # STORAGE_AWS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
104
+ # STORAGE_AWS_REGION_NAME="<YOUR_BUCKET_REGION>"
105
+ # STORAGE_AWS_FOLDER=""
106
+ #
107
+ # Google Cloud Storage
108
+ # ====================
109
+ #
110
+ # STORAGE_TYPE=gcs
111
+ # STORAGE_GCS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
112
+ # STORAGE_GCS_PROJECT_ID="<YOUR_PROJECT_ID>"
113
+ # STORAGE_GCS_FOLDER=""
114
+ # GOOGLE_APPLICATION_CREDENTIALS="/opt/heartex/secrets/key.json"
115
+ #
116
+ # Azure Blob Storage
117
+ # ==================
118
+ #
119
+ # STORAGE_TYPE=azure
120
+ # STORAGE_AZURE_ACCOUNT_NAME="<YOUR_STORAGE_ACCOUNT>"
121
+ # STORAGE_AZURE_ACCOUNT_KEY="<YOUR_STORAGE_KEY>"
122
+ # STORAGE_AZURE_CONTAINER_NAME="<YOUR_CONTAINER_NAME>"
123
+ # STORAGE_AZURE_FOLDER=""
124
+ #
125
+ ################################################################################
126
+
127
+ CMD exec label-studio --host=$SPACE_HOST
README.md ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: LabelStudio
3
+ emoji: 🟧
4
+ colorFrom: yellow
5
+ colorTo: purple
6
+ sdk: docker
7
+ tags:
8
+ - label-studio
9
+ fullwidth: true
10
+ license: apache-2.0
11
+ app_port: 8080
12
+ ---
13
+ <img src="https://user-images.githubusercontent.com/12534576/192582340-4c9e4401-1fe6-4dbb-95bb-fdbba5493f61.png"/>
14
+
15
+ [Website](https://hubs.ly/Q01CNgsd0) • [Docs](https://hubs.ly/Q01CN9Yq0) • [12K+ GitHub ⭐️!](https://hubs.ly/Q01CNbPQ0) • [Slack Community](https://hubs.ly/Q01CNb9H0)
16
+
17
+ ## What is Label Studio?
18
+
19
+ Label Studio is an open source data labeling platform. It lets you label audio,
20
+ text, images, videos, and time series data with a simple, straightforward, and
21
+ highly-configurable user interface. Label Studio can prepare new data or
22
+ improve existing training data to get more accurate ML models.
23
+
24
+
25
+ ## Label Studio in Hugging Face Spaces
26
+
27
+ The Label Studio community is thrilled to offer Label Studio as a Hugging Face
28
+ Spaces application. You can try the data-annotation interface, connect popular
29
+ machine learning models, and share the application with collaborators. You can
30
+ start immediately by creating an account or replicate the space and work in
31
+ your own environment.
32
+
33
+ ## Creating a Use Account and Logging In
34
+
35
+ Begin by creating a new account in the Label Studio space, then log in with your
36
+ credentials.
37
+
38
+ **By default, these spaces permit anyone to create a new login
39
+ account, allowing them to view and modify project configuration, data sets, and
40
+ annotations. Without any modifications, treat this space like a demo environment.**
41
+
42
+ ## Creating a Labeling Project
43
+
44
+ After logging in, Label Studio will present you with a project view. Here you
45
+ can create a new project with prompts to upload data and set up a custom
46
+ configuration interface.
47
+
48
+ **Note that in the default configuration, storage is local and temporary. Any
49
+ projects, annotations, and configurations will be lost if the space is restarted.**
50
+
51
+ ## Next Steps and Additional Resources
52
+
53
+ To help with getting started, the Label Studio community curated a list of
54
+ resources including tutorials and documentation.
55
+
56
+ - 🚀 [Zero to One with Label Studio Tutorial](https://labelstud.io/blog/introduction-to-label-studio-in-hugging-face-spaces/)
57
+ - 📈 [Try Label Studio Enterprise](https://hubs.ly/Q01CMLll0)
58
+ - 🤗 [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)
59
+ - 💡 [Label Studio Docs](https://hubs.ly/Q01CN9Yq0)
60
+
61
+
62
+ ![Gif of Label Studio annotating different types of data](https://raw.githubusercontent.com/heartexlabs/label-studio/master/images/annotation_examples.gif)
63
+
64
+ ### Making your Label Studio Hugging Face Space production-ready
65
+
66
+ By default this space allows for the unrestricted creation of new accounts
67
+ will full access to all projects and data. This is great for trying out
68
+ Label Studio and collaborating on projects, but you may want to restrict
69
+ access to your space to only authorized users. Add the following environment
70
+ variable to your spaces Dockerfile to disable public account creation for
71
+ this space.
72
+
73
+ ENV LABEL_STUDIO_DISABLE_SIGNUP_WITHOUT_LINK=true
74
+
75
+ Set secrets in your space to create an inital user, and log in with your
76
+ provided username and password. Do not set these in your Dockerfile, as they
77
+ globally visible on a public space.
78
+
79
+ LABEL_STUDIO_USERNAME
80
+ LABEL_STUDIO_PASSWORD
81
+
82
+ You will need to provide new users with an invitation link to join the space,
83
+ which can be found in the Organizations interface of Label Studio.
84
+
85
+ By default this space stores all project configuration and data annotations
86
+ in local storage with Sqlite. If the space is reset, all configuration and
87
+ annotation data in the space will be lost. You can enable configuration
88
+ persistence in one of two ways:
89
+
90
+ 1. Enabling Persistent Storage in your Space settings and configuring Label
91
+ Studio to write its database and task storage there.
92
+
93
+ 2. Connecting an external Postgres database and cloud storage to your space,
94
+ guaranteeing that all project and annotation settings are preserved.
95
+
96
+ ### Enabling Hugging Face Persistent Storage
97
+
98
+ In the Hugging Face Label Studio Space settings, select the appropriate
99
+ Persistent Storage tier. Note that Persistent Storage is a paid add-on.
100
+ By default, persistent storage is mounted to /data. In your Space settings,
101
+ set the following variables:
102
+
103
+ LABEL_STUDIO_BASE_DATA_DIR=/data
104
+ ENV STORAGE_PERSISTENCE=1
105
+
106
+ Your space will restart. NOTE: if you have existing settings and data,
107
+ they will be lost in this first restart. Data and setting will only be
108
+ preserved on subsequent restarts of the space.
109
+
110
+ ### Enabling Postgres Database and Cloud Storage
111
+
112
+ Set the following secret variables to match your own hosted instance of
113
+ Postgres. We strongly recommend setting these as secrets to prevent leaking
114
+ information about your database service to the public in your spaces
115
+ definition.
116
+
117
+ DJANGO_DB=default
118
+ POSTGRE_NAME=<postgres_name>
119
+ POSTGRE_PORT=<db_port>
120
+ POSTGRE_USER=<postgres_user>
121
+ POSTGRE_PASSWORD=<password>
122
+ POSTGRE_PORT=<db_port>
123
+ POSTGRE_HOST=<db_host>
124
+
125
+ Add the following environment variable to remove the warning about ephemeral
126
+ storage.
127
+
128
+ ENV STORAGE_PERSISTENCE=1
129
+
130
+ Note that you will need to connect cloud storage to host data items that you
131
+ want to annotate, as local storage will not be preserved across a space reset.
132
+
133
+ By default the only data storage enabled for this space is local. In the case
134
+ of a space reset, all data will be lost. To enable permanent storage, you
135
+ must enable a cloud storage connector. We also strongly recommend enabling
136
+ configuration persistence to preserve project data, annotations, and user
137
+ settings. Choose the appropriate cloud connector and configure the secrets
138
+ for it.
139
+
140
+ #### Amazon S3
141
+ STORAGE_TYPE=s3
142
+ STORAGE_AWS_ACCESS_KEY_ID="<YOUR_ACCESS_KEY_ID>"
143
+ STORAGE_AWS_SECRET_ACCESS_KEY="<YOUR_SECRET_ACCESS_KEY>"
144
+ STORAGE_AWS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
145
+ STORAGE_AWS_REGION_NAME="<YOUR_BUCKET_REGION>"
146
+ STORAGE_AWS_FOLDER=""
147
+
148
+ #### Google Cloud Storage
149
+
150
+ STORAGE_TYPE=gcs
151
+ STORAGE_GCS_BUCKET_NAME="<YOUR_BUCKET_NAME>"
152
+ STORAGE_GCS_PROJECT_ID="<YOUR_PROJECT_ID>"
153
+ STORAGE_GCS_FOLDER=""
154
+ GOOGLE_APPLICATION_CREDENTIALS="/opt/heartex/secrets/key.json"
155
+
156
+ Azure Blob Storage
157
+ ==================
158
+
159
+ STORAGE_TYPE=azure
160
+ STORAGE_AZURE_ACCOUNT_NAME="<YOUR_STORAGE_ACCOUNT>"
161
+ STORAGE_AZURE_ACCOUNT_KEY="<YOUR_STORAGE_KEY>"
162
+ STORAGE_AZURE_CONTAINER_NAME="<YOUR_CONTAINER_NAME>"
163
+ STORAGE_AZURE_FOLDER=""
164
+
165
+
166
+ ## Questions? Concerns? Want to get involved?
167
+
168
+ Email the community team at [community@labelstud.io](mailto:community@labelstud.io)