Label Studio is a multi-type data labeling and annotation tool with standardized output format
Website • Docs • Twitter • Join Slack Community
What is Label Studio?
Label Studio is an open source data labeling tool. It lets you label data types like audio, text, images, videos, and time series with a simple and straightforward UI and export to various model formats. It can be used to prepare raw data or improve existing training data to get more accurate ML models.
Have a custom dataset? You can customize Label Studio to fit your needs. Read an introductory blog post to learn more.
Try out Label Studio
Install Label Studio locally, or deploy it in a cloud instance. Or, sign up for a free trial of our Enterprise edition..
Install locally with Docker
Official Label Studio docker image is here and it can be downloaded with docker pull
.
Run Label Studio in a Docker container and access it at http://localhost:8080
.
docker pull heartexlabs/label-studio:latest docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest
You can find all the generated assets, including SQLite3 database storage label_studio.sqlite3
and uploaded files, in the ./mydata
directory.
Override default Docker install
You can override the default launch command by appending the new arguments:
docker run -it -p 8080:8080 -v $(pwd)/mydata:/label-studio/data heartexlabs/label-studio:latest label-studio --log-level DEBUGBuild a local image with Docker
If you want to build a local image, run:
docker build -t heartexlabs/label-studio:latest .Run with Docker Compose
Docker Compose script provides production-ready stack consisting of the following components:
To start using the app from http://localhost
run this command:
docker-compose upRun with Docker Compose + MinIO
You can also run it with an additional MinIO server for local S3 storage. This is particularly useful when you want to test the behavior with S3 storage on your local system. To start Label Studio in this way, you need to run the following command:
# Add sudo on Linux if you are not a member of the docker group docker compose -f docker-compose.yml -f docker-compose.minio.yml up -d
If you do not have a static IP address, you must create an entry in your hosts file so that both Label Studio and your browser can access the MinIO server. For more detailed instructions, please refer to our guide on storing data.
Install locally with pip
# Requires Python >=3.8 pip install label-studioInstall locally with AnacondaStart the server at http://localhost:8080
label-studio
conda create --name label-studio conda activate label-studio conda install psycopg2 pip install label-studioInstall for local development
You can run the latest Label Studio version locally without installing the package with pip.
# Install all package dependencies pip install -e .Deploy in a cloud instanceRun database migrations
python label_studio/manage.py migrate python label_studio/manage.py collectstatic
Start the server in development mode at http://localhost:8080
python label_studio/manage.py runserver
You can deploy Label Studio with one click in Heroku, Microsoft Azure, or Google Cloud Platform:
Apply frontend changes
The frontend part of Label Studio app lies in the frontend/
folder and written in React JSX. In case you've made some changes there, the following commands should be run before building / starting the instance:
cd label_studio/frontend/
yarn install --frozen-lockfile
npx webpack
cd ../..
python label_studio/manage.py collectstatic --no-input
Troubleshoot installation
If you see any errors during installation, try to rerun the installation
pip install --ignore-installed label-studioInstall dependencies on Windows
To run Label Studio on Windows, download and install the following wheel packages from Gohlke builds to ensure you're using the correct version of Python:
# Upgrade pip pip install -U pipRun test suiteIf you're running Win64 with Python 3.8, install the packages downloaded from Gohlke:
pip install lxml‑4.5.0‑cp38‑cp38‑win_amd64.whl
Install label studio
pip install label-studio
To add the tests' dependencies to your local install:
pip install -r deploy/requirements-test.txt
Alternatively, it is possible to run the unit tests from a Docker container in which the test dependencies are installed:
make build-testing-image make docker-testing-shell
In either case, to run the unit tests:
cd label_studioWhat you get from Label Studiosqlite3
DJANGO_DB=sqlite DJANGO_SETTINGS_MODULE=core.settings.label_studio pytest -vv
postgres (assumes default postgres user,db,pass. Will not work in Docker
testing container without additional configuration)
DJANGO_DB=default DJANGO_SETTINGS_MODULE=core.settings.label_studio pytest -vv
Included templates for labeling data in Label Studio
Label Studio includes a variety of templates to help you label your data, or you can create your own using specifically designed configuration language. The most common templates and use cases for labeling include the following cases:
Set up machine learning models with Label Studio
Connect your favorite machine learning model using the Label Studio Machine Learning SDK. Follow these steps:
This lets you:
Integrate Label Studio with your existing tools
You can use Label Studio as an independent part of your machine learning workflow or integrate the frontend or backend into your existing tools.
Ecosystem
Project Description
label-studio Server, distributed as a pip package
label-studio-frontend React and JavaScript frontend and can run standalone in a web browser or be embedded into your application.
data-manager React and JavaScript frontend for managing data. Includes the Label Studio Frontend. Relies on the label-studio server or a custom backend with the expected API methods.
label-studio-converter Encode labels in the format of your favorite machine learning library
label-studio-transformers Transformers library connected and configured for use with Label Studio
Roadmap
Want to use The Coolest Feature X but Label Studio doesn't support it? Check out our public roadmap!
Citation
@misc{Label Studio, title={{Label Studio}: Data labeling software}, url={https://github.com/heartexlabs/label-studio}, note={Open source software available from https://github.com/heartexlabs/label-studio}, author={ Maxim Tkachenko and Mikhail Malyuk and Andrey Holmanyuk and Nikolai Liubimov}, year={2020-2022}, }License
This software is licensed under the Apache 2.0 LICENSE © Heartex. 2020-2022
Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.
We'll never share your email with anyone else.