使用 uv 安装数据集标注工具 labelimg 和 labelme
深度学习需要数据集以进行训练,这离不开数据集标注工具。于我主要使用 labelimg 和 labelme 分别进行目标检测和实例分割任务的标注。
然而按照这两个项目的官方 README 并不能正常使用,因此尝试使用更新更快的 Python 包管理工具 uv 进行安装。
本文介绍了两款常用数据标注软件的源代码安装方法,并结合安装过程介绍 uv 的基本使用。
Conda 对于这样一个简单的 Python 应用来说实在是太笨重了,我不可能给一个一百行代码的脚本创建一个专用的虚拟环境。
而 uv 是一个用 Rust 编写的极速 Python 包和项目管理工具,比 pip 快 100 倍的同时还提供完善的 venv 管理功能。
因此我最后的策略是:在 WSL 中使用 Mamba 作为包管理和虚拟环境管理器,进行深度学习训练和推理;而在 Windows 中使用 uv,以支持日常简单脚本开发。
1 uv
你可以在安装 uv 中找到各个平台的安装方法。至于 Windows,推荐使用 WinGet 获取 uv:
winget install --id=astral-sh.uv -e
安装完后重启终端,检查 uv 是否可用:
uv --version
2 labelimg
labelimg 官方文档中提到可以使用 pip 进行安装:
pip install labelImg
但是在 Windows 下似乎会遇到权限问题,因此我尝试从源码进行安装。
首先克隆 labelimg 仓库:
git clone git@github.com:HumanSignal/labelImg.git
进入项目后,使用 uv 在项目中创建一个目录.venv
作为虚拟环境:
cd labelImg
uv venv --python 3.9
然后激活环境:
.venv\Scripts\activate
其实很多时候不用激活,uv 会自动隔离虚拟环境。
然后安装依赖:
uv pip install pyqt5-tools lxml
pyrcc5 -o libs/resources.py resources.qrc
从源代码安装并启动 labelimg:
uv pip install .
un run labelimg
提示
后面再想要启动 labelimg 时,无需执行激活环境命令,只需要进入项目文件夹执行:
uv run labelimg
即可。
3 labelme
和 labelimg 类似,labelme 官方文档也提及可以使用 pip 安装,但我遇到了同样的问题,因此 labelme 也从源码安装,流程基本类似。
首先克隆仓库:
git clone git@github.com:wkentaro/labelme.git
labelme 提供了uv.lock
文件,它是 uv 的锁文件,记录了虚拟环境里精确 Python 版本和包版本。通过它精确重现完全相同的环境。要从uv.lock
中恢复环境,只需要:
uv sync --python 3.10
从源码安装并启动 labelme:
uv pip install .
uv run labelme