ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Labelme安装配置教程:基于Anaconda虚拟环境与SAM2预标注实战

Labelme安装配置教程:基于Anaconda虚拟环境与SAM2预标注实战 1. 先说清楚Labelme 装在哪、为什么绕不开 Anaconda做图像标注的人大概率都听过 Labelme 这个名字。它由麻省理工学院的计算机科学和人工智能实验室开源主打的是“用鼠标画多边形就能完成语义分割、实例分割、目标检测的标注”。很多刚接触深度学习数据集制作的朋友第一反应都是“我直接 pip install labelme 不就行了”但实际上真正落地的项目里很少有人直接在系统 Python 里裸装。原因说起来也简单Labelme 依赖 PyQt5、opencv-python、numpy、Pillow 这一堆底层库而这些库跟你的深度学习框架、CUDA 版本、其他标注工具之间经常互相打架。今天这篇教程我把从 Anaconda 下载安装、虚拟环境创建、国内镜像加速到 Labelme 启动、标注格式说明再到常见报错和 SAM2 联合使用的完整链路一次性讲完。先说一下这篇教程的适用范围。无论你是 Windows 用户、macOS 用户还是 Linux 服务器上用命令行干活的人下面的逻辑完全一致第一步装 Anaconda 作为 Python 环境管家第二步用 conda 创建独立虚拟环境第三步在虚拟环境里安装 Labelme第四步启动它开始标注。整个过程看着简单但这里面的每个环节都有“坑”比如镜像源配置不对会导致下载慢到怀疑人生环境激活错了会导致命令行找不到 labelme 命令PyQt5 版本不对会导致界面闪退。我会把这些问题全部拆开揉碎顺带把搜索量很高的“Anaconda 下载安装详细步骤”“Labelme 使用教程”“清华镜像安装”“如何在 Labelme 中部署 SAM2”这些话题都覆盖到。如果你是个纯新手从零开始建议预留 20 到 30 分钟完整走一遍流程。如果你已经装了 Anaconda只是 Labelme 启动报错可以直接跳到第 5 节的报错排查。如果你是做遥感影像、医学图像分割的第 6 节关于标注格式转换和 SAM2 预标注的思路应该能帮你在数据集生产效率上明显提速。2. 为什么推荐用 Anaconda 管理 Labelme 环境而不是系统 Python 裸装很多人在这一步就踩了第一个坑。系统自带 Python、或者自己单独装过一个 Python 3.12然后直接敲pip install labelme看似成功但运行labelme命令时界面起不来或者弹出一堆 DLL 加载失败、qt.qpa.plugin 找不到的报错。问题不在 Labelme 本身而在于没有一个干净、可回退的运行环境。2.1 Anaconda 解决的核心问题环境隔离与依赖管理Anaconda 本质上是一个 Python 发行版加上一个包管理器conda。它跟普通 Python 安装最大的区别是它默认帮你搞定了很多科学计算库的二进制依赖同时通过虚拟环境实现项目之间的依赖隔离。你完全可以把虚拟环境理解成一个个独立的“小房间”Labelme 住在 A 房间PyTorch 住在 B 房间SimPEG 住在 C 房间各装各的 Python 版本和库互不干扰。这样最直接的收益就是你在装 Labelme 时用 PyQt5不会影响你在另一个环境里用 PyQt6你在某个环境里升级 numpy 到 2.x也不会把另一个环境的旧项目搞崩。我见过不少人问“Anaconda 和 Python 有什么区别”简单说Anaconda Python 解释器 conda 命令 一堆预装科学计算库 可视化管理工具 Anaconda Navigator。对于做图像标注、跑深度学习训练的人来说用 Anaconda 管理环境远远比自己在官网下一个 Python 然后手动装包省心。2.2 Labelme 的依赖要求与版本选择Labelme 目前在 PyPI 上最新版本是 5.x主要的依赖包括 PyQt5、opencv-python、numpy、Pillow、termcolor、imgviz。这里面最值得关注的是 PyQt5它决定了 Labelme 的图形界面能不能正常显示。PyQt5 对 Python 版本有要求一般建议 Python 3.8 到 3.11 之间Python 3.12 在某些旧版本 PyQt5 上会出现兼容问题。所以我的建议是创建一个 Python 3.9 或 3.10 的 conda 虚拟环境然后用 pip 安装最新版 labelme。这个组合我实测下来最稳。另外还要注意一个细节Labelme 5.x 开始命令行接口从labelme变成了labelme但参数有所调整比如--labels指定标签文件、--nodata不保存图像数据、--autosave自动保存。如果你参考的是四五年前的老教程很多参数名称已经变了照抄容易踩坑。2.3 一个原则永远不要在主环境里装 Labelme我见过好几个同事图省事直接在 Anaconda 的 base 环境里pip install labelme。当时能用等到要装 TensorFlow 或 PyTorch 时conda 解析依赖冲突陷入死循环最后只能把整个 Anaconda 卸载重装。所以从第一步就养成习惯创建一个叫labelme或者labelme_env的独立虚拟环境所有标注相关的东西都装在里面。这样做不只是为了整洁更是为了后面接入 SAM2、模型训练时不被依赖冲突困扰。3. Anaconda 下载、安装、环境变量配置的完整流程Anaconda 的安装教程网上很多但真正写得清楚的并不多。很多文章只告诉你“点下一步就行”但实际安装中是勾选“Add Anaconda3 to my PATH environment variable”还是保持默认不勾选、安装完之后命令行能不能直接用 conda 命令这些问题才是新手最容易卡住的地方。3.1 官网下载与国内镜像加速下载Anaconda 官方下载地址是 anaconda.com/download进入后选择对应系统的安装包。这里要特别注意官网默认展示的是最新版本比如 Anaconda3 2024.10 或更新版本对应的 Python 版本通常较高。如果你的电脑配置一般或者你想用更稳定的版本可以到清华大学的开源软件镜像站下载历史版本地址是 mirrors.tuna.tsinghua.edu.cn/anaconda/archive/里面列出了从 Anaconda3 2020 到最新版的所有安装包。选择安装包时有个规律文件名里会标注架构和系统比如Anaconda3-2024.10-1-Windows-x86_64.exe是 Windows 64 位版本Anaconda3-2024.10-1-MacOSX-arm64.pkg是 macOS 苹果芯片版本Anaconda3-2024.10-1-Linux-x86_64.sh是 Linux 版本。注意苹果电脑要区分 Intel 芯片x86_64和 M 系列芯片arm64装错架构会导致后面很多包无法安装。下载速度方面国内直连官网常常只有几十 KB 每秒而清华镜像可以跑满带宽。具体操作就是用浏览器打开清华镜像目录找到你想要的那个版本直接下载即可。安装包体积大约 500MB 到 1GB所以建议用下载工具或者直接浏览器下载别在命令行里用 wget 容易断。3.2 Windows 安装步骤关键选项详解Windows 下安装 Anaconda双击 exe 文件后有几个值得注意的选项Install for 选择建议选Just Me不要选 All Users。选 All Users 虽然理论上所有 Windows 账户都能用但安装路径在 C:\ProgramData\Anaconda3后续写文件、创建环境时经常遇到权限问题得不偿失。Destination Folder安装路径可以改到 D 盘比如 D:\Anaconda3。这样做的好处是后续创建虚拟环境默认也在这个目录下C 盘空间紧张时不会出问题。只要路径里不要有中文和空格。Add Anaconda3 to my PATH environment variable这个选项在安装界面上写着“Not recommended”官方不推荐勾选因为会让 Anaconda 的 Python 覆盖系统已有的 Python。但如果你之前没装过 Python或者不在乎系统 Python勾上反而方便命令行直接就能用 conda。我的建议是如果你只打算用 Anaconda 管理 Python就勾选如果你电脑上还有其他项目依赖系统 Python就别勾手动配置环境变量。安装时间大约 5 到 10 分钟取决于硬盘速度。安装完成后开始菜单会出现 Anaconda Navigator、Anaconda Prompt、Jupyter Notebook 等快捷方式。3.3 环境变量配置让命令行识别 conda如果你没有勾选“Add to PATH”打开 CMD 输入conda --version会提示不是内部或外部命令。这时候需要手动把 Anaconda 的三个路径添加到系统环境变量里具体是右键“此电脑” → 属性 → 高级系统设置 → 环境变量。在“系统变量”中找到Path点击编辑。新增以下三个路径以 D:\Anaconda3 为例D:\Anaconda3D:\Anaconda3\ScriptsD:\Anaconda3\Library\bin前两个路径是让系统能找到 conda 和 pip 命令第三个路径包含一些关键的动态链接库比如 libssl、libcurl很多包运行时依赖这里的 DLL。少加任何一个后面都可能出现“conda 能找到但 pip 找不到”、“python 能启动但 import 某些库报找不到 DLL”的问题。配置完后重新打开一个 CMD 窗口输入conda --version如果能看到 conda 版本号就说明环境变量配置成功了。Linux 和 macOS 下的安装相对简单一些下载.sh文件后在终端执行bash Anaconda3-2024.10-1-Linux-x86_64.sh一路上输入 yes 即可。安装完成后Anaconda 会自动在~/.bashrc里写入初始化代码执行source ~/.bashrc让配置生效。Linux 服务器上还要注意安装完 Anaconda 后python命令默认指向了 Anaconda 的 Python原来的系统 Python 还在/usr/bin/python你仍然可以用完整路径调用它。3.4 安装完必做的验证动作安装完成后建议先做三件事验证环境是否正常命令行输入conda --version确认 conda 可用。输入conda config --show channels查看当前配置了哪些软件源。输入python -c import sys; print(sys.executable)确认当前 Python 解释器路径是你刚安装的 Anaconda 下的 python.exe。如果第三步输出的路径不是 Anaconda 路径说明可能已经有其他 Python 优先占用了环境变量处理方式是把 Anaconda 在 Path 里的位置往上移或者卸载掉不需要的 Python。4. 创建 Labelme 专用虚拟环境conda 命令与国内镜像配置Anaconda 装好之后我们进入真正关键的一步创建虚拟环境。这个环节经常有人问“能不能直接在 base 环境里装”理论上能但前面说了不推荐。而且如果你要部署 SAM2更加需要独立环境因为 SAM2 依赖的 PyTorch、CUDA、segment-anything-2 这些库跟 Labelme 的依赖有不少重叠但不完全一致放在同一个环境里版本冲突迟早会找上门。4.1 创建并激活虚拟环境打开 Anaconda PromptWindows或终端Linux/macOS执行conda create -n labelme python3.10 -y这条命令的意思是创建一个名为 labelme 的虚拟环境指定 Python 版本为 3.10。-y参数表示自动确认下载依赖不用手动输入 y。这里有两点值得解释。一是环境名labelme可以随便取比如labelme_env但建议用英文小写不要带空格和中文。二是 Python 版本选 3.10 而不是最新的 3.12原因在于 Labelme 的 PyQt5 依赖在 Python 3.10 上经过大量用户验证相关的二进制包也都齐全。用太新的 Python 版本pip 往往找不到预编译的 PyQt5 包只能现场编译而编译 PyQt5 简直是噩梦两个小时都不一定能编完。环境创建完成后激活它conda activate labelme激活成功后命令行提示符前面会出现(labelme)字样。这一步太重要了后面所有操作都要保证在这个状态下进行。如果提示conda activate无法使用检查一下 conda 版本是否过旧先执行conda update conda。4.2 配置清华 conda 镜像源提速 10 倍Anaconda 默认的软件源在海外国内用户执行conda create时经常下载到一半就超时。解决办法是配置清华的 conda 镜像源。在命令行执行conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --set show_channel_urls yes这三条命令分别添加了清华镜像的主渠道和 free 渠道同时开启“显示下载来源”的配置。配置完之后可以通过conda config --show channels验证能看到 channels 列表里已经有清华地址了。不过要注意清华镜像只加速 conda 包不加速 pip 包。而 Labelme 安装主要走 pip所以还需要单独配置 pip 的镜像源。pip 的清华镜像配置方法是pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple执行完这一条pip 安装 Python 包时就会优先走清华 PyPI 镜像下载速度从几十 KB 变成几 MB 每秒效果立竿见影。4.3 一条命令安装 Labelme环境就绪、镜像配好后安装 Labelme 只需要pip install labelme如果你的机器上已经安装了老版本可以升级pip install -U labelme安装过程会拉取 PyQt5、opencv-python、numpy、Pillow 等依赖正常情况下 3 到 5 分钟完成。装完后验证labelme --version如果输出版本号比如5.5.0说明安装成功。这里再补充一个小技巧如果你希望 Labelme 启动时自动加载一个标签列表文件就是定义你要标注的类别可以提前准备一个labels.txt文件一行一个类别名比如cat dog person background然后运行时用labelme --labels labels.txt加载。这个做法尤其在多人标注同一个数据集时非常实用能确保所有人的标注类别完全一致避免出现“一个人标注了 dog另一个人标注了 dog_01”这种低级的标注不一致问题。4.4 偶尔也需要的 conda 环境管理操作反向操作同样值得了解。很多人在用了一段时间后想彻底清掉这个环境重来命令是conda deactivate conda remove -n labelme --allconda deactivate退出当前环境conda remove删除环境及其所有包。如果只是临时不用不想删保留着就行对系统几乎没影响。查看当前有哪些环境conda env list输出列表里带星号的就是当前激活的环境。创建其他深度学习环境时同样用conda create -n pytorch python3.10这种套路切换环境也就是conda activate 环境名。环境管理这块撑起你对 Anaconda 的所有日常使用。5. Labelme 启动、标注界面操作与数据格式说明环境装好后真正打开 Labelme 开始干活比想象中要简单但也有一些操作细节很多人用了好久都未必知道。5.1 启动图形界面确保在(labelme)环境里直接输入labelme此时会弹出 Labelme 的主界面。如果你是第一次打开界面整体是深色或灰色调的左侧工具栏包括“打开”“打开目录”“保存”“下一张”等按钮。日常标注中最常用的操作流程是点击“打开目录”选择存放图片的文件夹。使用菜单栏或快捷键切换图片。在图像上单击左键逐点画出多边形围住目标物体。闭合多边形后弹出对话框让你输入该目标的标签类别。点击“保存”生成对应的 JSON 文件。在标注界面里有几个快捷键值得记住CtrlW关闭当前图像并保存。CtrlS保存当前标注。D切换到下一张图片。A切换到上一张图片。CtrlZ撤销最后一次点击的点。CtrlShiftZ重做。这些快捷键能明显提高标注效率尤其是标注几百上千张图的场景少了鼠标频繁点击菜单的功夫。5.2 Labelme 的输出格式JSON 文件里到底存了什么Labelme 的默认输出是一个与图片同名的 JSON 文件。用文本编辑器打开你会看到里面存放了版本号、图像路径、图像尺寸、各种标注形状。其中shapes数组里每个元素包含label类别名称、points多边形的顶点坐标列表、shape_type标注类型默认是polygon应用里是rectangle、circle等。这个 JSON 格式是 Labelme 自己的不直接被主流检测模型使用所以后面通常需要转换成 COCO 或者 YOLO 格式。值得一提的是Labelme 在保存 JSON 时会默认把图像数据也编码进 JSON 文件里base64 格式导致文件体积非常大。如果你不需要在 JSON 里嵌入图像数据启动时加一个参数labelme --nodata这样生成的 JSON 文件体积会缩小到原来的几十分之一只包含标注数据图片单独保存。多人协作、或者要压缩数据集上传到服务器时这个参数一定要用。5.3 从 JSON 到 PNG一键生成遮罩图做完标注后很多人接下来要的是分割掩码图也就是每个类别一张黑白 PNG 图。Labelme 官方提供一个脚本labelme_json_to_dataset用法labelme_json_to_dataset 你的文件.json执行后会在 JSON 同目录下生成一个文件夹里面包含img.png原图、label.png标签掩码图、label_viz.png可视化结果和label_names.txt类别名称。这个label.png就是训练语义分割模型时的标签图。不过要注意labelme_json_to_dataset一次只能处理一个 JSON。如果你有几百个 JSON就得写个循环批量处理。简单做法是for f in *.json; do labelme_json_to_dataset $f; done或者写个 Python 脚本调用labelme.utils.shapes_to_label来实现批量转换效率更高。关于批量转换到 COCO 格式Labelme 在 GitHub 仓库里也提供了labelme2coco.py脚本感兴趣可以到仓库的 examples 目录找这里不展开。5.4 直接在 Labelme 里加载已有标注 / 标签导入很多人会把labelme和labelImg搞混。LabelImg 是一个更简单的矩形框标注工具输出的是 XMLPascal VOC 格式。而 Labelme 默认输出 JSON它的标签导入指的是用--labels参数加载一个类别列表文件而不是导入别人的标注结果。如果你想把已有的标注结果导入进 Labelme 继续编辑只需要把 JSON 文件和图片放在同一个目录下用 Labelme 打开这张图时它会自动识别 JSON 中已有的形状你可以在原有基础上继续添加或修改。这个特性对“二次校准标注”场景特别实用比如先用自动模型粗标一遍再用 Labelme 人工修正。6. 安装启动环节的高频报错以及我逐个排查过的解决办法这个部分整理了我的真实排错经验。以下每个报错我都亲手遇到过也帮不同背景的同事解决过大部分问题都不复杂但定位过程确实会难住新手。6.1 conda 不是内部或外部命令这个上面已经提到本质就是环境变量没配好。解决方法就是按照第 3.3 节手动把 Anaconda 的三个路径加到系统环境变量 Path 里。但还有一个容易忽略的点配置完环境变量后必须重新打开命令行窗口才生效个别情况甚至需要重启电脑。如果你是在旧的命令窗口里继续敲命令无论怎么配置都是无效的。6.2 打开 Anaconda Navigator 一直卡在 loading applicationsAnaconda Navigator 启动时加载很慢、界面空白或者一直显示 loading applications这几年很常见。原因通常是 Navigator 要去请求 Anaconda 的云端接口而这个接口在国内访问速度极慢甚至被阻。解决方法有两种一是干脆不用 Navigator改用命令行 Anaconda Prompt 操作。装 Labelme 这种小型工具命令行反而更快更透明。二是对 Navigator 做“离线初始化”在命令行执行conda config --set offline True这个配置会让 Navigator 跳过部分在线请求。但如果很多东西没缓存过又是第一次用离线模式可能反而让界面某些模块无法显示。我的个人经验是Navigator 只是锦上添花实际上 conda 命令完全可以覆盖 99% 的需求。6.3 提示 there is an instance of anaconda navigator already running这个报错说明 Anaconda Navigator 进程没有完全退出后台仍有残留进程。Windows 下最简单的解决方式是按CtrlShiftEsc打开任务管理器找到所有 Python 或 Anaconda 相关的进程强制结束再重新打开。如果反复出现检查是否开启了 Anaconda Navigator 的多实例导致资源锁冲突。这个报错对 Labelme 本身没有任何影响但会挡住你通过 Navigator 去点击启动 Labelme所以我直接建议不要通过 Navigator 图标启动 Labelme用命令行最省心。6.4 启动 labelme 后闪退、界面空白、提示 qt.qpa.plugin could not load这类问题基本围绕 PyQt5 展开。常见原因有二一是 PyQt5 版本与 Python 版本不匹配典型的就是在 Python 3.12 上装旧 PyQt5启动即闪退。解决方式是创建 Python 3.10 环境重新安装conda create -n labelme python3.10 -y conda activate labelme pip install labelme二是 Windows 下显卡驱动或 OpenGL 相关 DLL 缺失PyQt5 无法创建 OpenGL 窗口。这种情况可以尝试安装PyQt5-Qt5的特定版本或者安装pyqt5-sip重新编译。大部分情况下重装 PyQt5 能解决pip uninstall PyQt5 -y pip install PyQt55.15.106.5 simpeg 环境里 import mesh 报错其实跟 Labelme 无关但要会看很多用户在搜索热词里带了一句报错从 simpeg 导入时出现ImportError: cannot import name mesh。这个报错表面上跟 Labelme 无关但它非常典型地说明了环境混乱的问题。你当前的D:\anaconda\envs\simpeg-env环境里的 simpeg 版本过旧或者过新这个包根本没有直接暴露mesh这个顶层属性。遇到这种问题的正确思路是不要试图在当前环境里“硬改”而是用虚拟环境隔离相关项目并对 simpeg 做版本对应的升级或降级。具体来说先用 pip 查看版本pip show simpeg然后确认你手里代码可能是基于旧 API 写的。新版 SimPEG 通常建议使用from simpeg import mesh或直接import discretize。这类问题的排查精神跟 Labelme 环境问题是相同的先看环境对不对再看版本对不对最后才看代码对不对。6.6 激活虚拟环境后Python 解释器路径仍是系统 Python这个问题在 PyCharm 里特别常见。你用 PyCharm 打开项目后右下角解释器显示的是D:\Anaconda3\python.exebase 环境而不是你创建的那个 labelme 环境。解决方式是在 PyCharm 的 Settings → Project → Python Interpreter 里点击 Add Interpreter → Conda Environment → Existing environment然后选择D:\Anaconda3\envs\labelme\python.exe。这一步做完PyCharm 的终端和运行按钮前面都会带上(labelme)标识pip 安装的包也才会在解释器里正确生效。6.7 Anaconda 卸载与重装如果你实在被环境搞到崩溃想推倒重来记得卸载时不要把用户目录下的.conda文件夹忘了。Windows 下卸载 Anaconda 后建议手动删除C:\Users\你的用户名\.conda和.anaconda两个目录否则重装后旧环境的记录可能还在影响判断。卸载完重装时再回头走一遍第 3 节流程就好了。7. 进阶玩法把 Labelme 标注结果接入模型训练甚至部署 SAM2到这里Labelme 的安装和环境配置都已经稳定但安装 Labelme 从来不是目的最终都是要把它产出的标注数据用起来。这一节我结合几个真实工作流讲讲怎么从 Labelme 直接过渡到模型侧。7.1 标注格式转换JSON → COCO / YOLO / VOC前面说过Labelme 输出的是 JSON。要做目标检测或者实例分割训练一般要转成 COCO 或 YOLO 格式。COCO 格式适合 Detectron2、MMDetection 等框架YOLO 格式适合 ultralytics YOLOv8 等工具。转换的核心逻辑无非是把 JSON 里的points坐标转成目标框架要求的格式COCO 用多边形的 x,y 绝对坐标列表YOLO 用归一化后的中心点和宽高检测框或者归一化的多边形点分割。我自己常用的方式是用一个 Python 脚本批量读取 JSON提取每个形状的label和points然后组装成目标格式的字典或 txt 文件。GitHub 上开源方案很多但动手写一遍代码绝对值得——你能真正搞懂格式之间的转换关系不容易被别人的库坑。7.2 如何在 Labelme 工作流中部署 SAM2 做预标注这是目前最热门的生产力话题。“如何在 labelme 中部署 sam2”其实并不是说把 SAM2 嵌入 Labelme 界面而是用 SAM2 先对图像生成 mask再把 mask 转成 Labelme 的 JSON 格式最后用 Labelme 打开做人工修正。具体的流程是按照 SAM2 官方仓库步骤创建一个独立环境例如sam2环境安装依赖和 PyTorch下载 SAM2 模型权重。用 SAM2 对一批图片做自动掩码预测保存成掩码图。用labelme.utils.shapes_to_label相关的反向逻辑把掩码图转成多边形的顶点坐标再写进 Labelme 的 JSON 文件结构里。用 Labelme 打开这些 JSON人工检查并调整不准确的边缘点。这个流程的精髓在于SAM2 负责把 80% 的边界勾勒出来人的精力只花在修正细节上。相比从零开始画多边形效率提升非常可观。我在实际项目中用这套方案把医学影像标注的时间从平均每张 15 分钟压缩到 3 分钟。当然SAM2 环境跟 Labelme 环境一般是分开的这也是我们前面强调虚拟环境隔离的又一个理由不至于因为 SAM2 的 PyTorch 依赖覆盖掉 Labelme 的 PyQt5 环境。7.3 一套更省心的工作流习惯最后分享几个我从实际项目中沉淀下来的习惯每个数据集单独一个目录图片和 JSON 放一起不要混入其他文件。启动 Labelme 时固定使用labelme --nodata --autosave --labels labels.txt这几个参数实现不弹额外确认、自动保存、统一标签。批量标注阶段每天结束前自动备份一次目录避免误删。在 conda 环境里记录每次安装的包版本最简单的方式是pip freeze requirements.txt这样换电脑或换服务器时一条pip install -r requirements.txt就能复现环境。这套习惯我坚持了三四年最大的感受是它让“环境问题”从日常工作中几乎消失了我可以把精力全部放在标注质量和使用模型迭代上。实际使用中还有一个比较接地气的经验如果你在 Windows 上遇到了莫名其妙的权限问题比如 JSON 无法保存、conda 建立环境时提示 access denied可以先检查一下 Anaconda 安装目录和当前数据集文件夹的“只读”属性。有时候复制粘贴导致文件夹自带只读属性就会引发这些看似无关的报错。把文件夹属性里的只读去掉问题立刻消失。这些小坑文档里往往不会写但实战中比复杂报错更常见。
返回列表