Label Studio是Heartex公司開發的一款線上資料標註工具,分為社群版(開源)和企業版(雲服務,收費),企業版提供了增強的安全性(單點登入、角色基於訪問控制、SOC2)、團隊管理、分析和報告,以及正常執行時間和支援服務水平協議。即便是免費的開源版本,也足以支援廣泛的標註型別,包括影像分類、目標檢測、語義分割等。也支援多種資料型別,如文字、影像、音訊和影片等。它還支援整合機器學習模型,可以滿足各種複雜的資料標註需求。
安裝Label Studio
Label Studio的安裝方法有多種,主流的有pip、conda安裝,也支援docker安裝,這些安裝方法,網上可以搜尋到很多,這裡不做介紹了。作為開發人員,更習慣於透過原始碼安裝,本文就介紹如何從github上clone原始碼安裝。
下載原始碼
- git clone https://github.com/HumanSignal/label-studio.git
由於label-studio的git倉庫檔案巨多,容易下載失敗,建議用以下命令下載 - git clone https://github.com/HumanSignal/label-studio.git --depth 1
安裝poetry
Poetry 是一個 Python 打包和依賴管理工具,旨在簡化 Python 包的建立、釋出和依賴管理。與傳統的 setuptools、pip 和 requirements.txt 的組合相比,Poetry 提供了一個統一和簡化的工具和工作流程。
cd label-studio
pip install poetry
安裝後,執行以下命令
- poetry config list
cache-dir = "/Users/oheroj/Library/Caches/pypoetry"
experimental.system-git-client = false
installer.max-workers = null
installer.modern-installation = true
installer.no-binary = null
installer.parallel = true
keyring.enabled = true
solver.lazy-wheel = true
virtualenvs.create = true
virtualenvs.in-project = null
virtualenvs.options.always-copy = false
virtualenvs.options.no-pip = false
virtualenvs.options.no-setuptools = false
virtualenvs.options.system-site-packages = false
virtualenvs.path = "{cache-dir}/virtualenvs" # /Users/laijihua/Library/Caches/pypoetry/virtualenvs
virtualenvs.prefer-active-python = false
virtualenvs.prompt = "{project_name}-py{python_version}"
warnings.export = true
其中virtualenvs.create = true
若改為 false,則可以停止 poetry 在檢查不到虛擬環境是自動建立的行為模式,但是建議不要改動。
而virtualenvs.in-project = false
就是我們要修改的目標,使用指令:
poetry config virtualenvs.in-project true
虛擬環境將建立在專案根目錄下,而不是在快取目錄下。
安裝依賴
執行以下指令,安裝依賴:
poetry install
如果出現以下錯誤
- Installing label-studio-sdk (1.0.4 https://github.com/HumanSignal/label-studio-sdk/archive/0b7ece0554de291d05d446ea5240e56724e384e8.zip): Failed
SSLCertVerificationError
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)
則執行以下指令
poetry add label-studio-sdk@latest
依賴包安裝完成後,執行以下命令:
poetry run python label_studio/manage.py migrate
poetry run python label_studio/manage.py collectstatic
啟動服務
poetry run python label_studio/manage.py runserver