在配置Label-Studio X SAM 半自动化标注时,使用 opencv 库,会发生报错 TypeError: 'numpy._DTypeMeta' object is not subscriptable
一、问题描述
PS: 在 Windows 环境中SAM 启动样例:
cd path/to/playground/label_anything
$env:sam_config = "vit_b"
$env:sam_checkpoint_file = ".\sam_vit_b_01ec64.pth"
$env:out_mask = "True"
$env:out_bbox = "True"
$env:device = "cuda:0"
# device=cuda:0 为使用 GPU 推理,如果使用 cpu 推理,将 cuda:0 替换为 cpu
# out_poly=True 返回外接多边形的标注
label-studio-ml start sam --port 8003 --with `
sam_config=$env:sam_config `
sam_checkpoint_file=$env:sam_checkpoint_file `
out_mask=$env:out_mask `
out_bbox=$env:out_bbox `
device=$env:device
提示:TypeError: 'numpy._DTypeMeta' object is not subscriptable
二、解决办法
尝试了几种方法后,确定可以的方法和大家分享一下!
找到上述问题中的最后一个报错文件,也就是 "/usr/local/lib/python3.10/dist-packages/cv2/typing/__init__.py"
点击提示,进入_ _init_ _.py中,找到第 69 行,界面如图所示:
将 68 至 83 行与 numpy 相关的部分使用单引号作为参数,修改后如图所示:
再次启动SAM:
问题顺利解决。