当前位置:   article > 正文

语义分割——Grounded Segment Anything 环境配置和使用教程(已解决 name ‘_C’ is not defined 报错)_grounded-sam + osx

grounded-sam + osx

目录

语义分割——Grounded Segment Anything 环境配置和使用教程

环境配置

下载项目

  • 链接:https://pan.baidu.com/s/10Ei7WUVMTHOUhNQK3BZSag?pwd=rt4u
    提取码:rt4u

下载引用库

  • 链接:https://pan.baidu.com/s/1SNJTQBF75EmhyscJWkg4fw?pwd=0ds1
    提取码:0ds1

注:放入项目对应文件夹即可.

配置环境变量

注:这一步一定要确保完成,CUDA_HOME 更换成你自己的路径,要不然就会出现NameError: name ‘_C’ is not defined,这个错误折磨作者将近两天了,终于解决了(哭~).

Pycharm 设置
  • Settings > Terminal > Environment variables:

  • 如何确保设置成功,在 Pycharm 终端中输入以下命令:
$env:CUDA_HOME
  • 有输出,且 路径正确,就代表设置成功:

GitBash 中

注:虽说不知道在 GitBash 中再设置一次环境变量是否有必要,但作者是这样的,所以为了避免报错,建议大家做好这一步.

export AM_I_DOCKER=False
export BUILD_WITH_CUDA=True
export CUDA_HOME=/c/Program\ Files/NVIDIA\ GPU\ Computing\ Toolkit/CUDA/v12.2

注:在 Bash 终端中,路径中的空格需要用反斜杠\转义.

  • 同样也要确保设置成功,输入以下命令:
echo $CUDA_HOME
  • 有输出,且 路径正确,就算成功:


安装库

segment_anything

  • 【命令】:
python -m pip install -e segment_anything

GroundingDINO

安装包
  • 【命令】:
python -m pip install -e GroundingDINO
  • 【运行结果】:

安装依赖项
  • 【命令】:
cd GroundingDINO
python setup.py build
python setup.py install
  • 【运行结果】:

diffusers[torch]

  • 【命令】:
pip install --upgrade diffusers[torch]
  • 【运行结果】:

grounded-sam-osx

  • 【命令】:
cd grounded-sam-osx
pip install openmim
mim install mmcv-full==1.7.1
pip install -r requirements.txt
cd transformer_utils
python setup.py install

注:其实可以在终端输入./install.sh命令的,但这样会导致运行完之后命令打开的 GitBash 窗口自动关闭看不到到底有没有报错,所以这里建议 一步步手动 在终端运行 install.sh 中的命令.

Tag2Text

  • 修改Tag2Text/requirements.txttransformers的版本号为 4.29.0(4.15.0 会报错):
timm==0.4.12
transformers==4.29.0
fairscale==0.4.4
pycocoevalcap
torch
torchvision
Pillow
scipy
  • 【命令】:
cd Tag2Text
pip install -r requirements.txt
  • 【运行结果】:

其它依赖项

  • 【命令】:
pip install opencv-python pycocotools matplotlib onnxruntime onnx ipykernel
  • 【运行结果】:


运行 grounding_dino_demo.py

下载预训练模型

  • 【官方下载地址】:https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth
  • 链接:https://pan.baidu.com/s/13bCwL-MtpptcwUbVY6-iKw?pwd=t6s5
    提取码:t6s5

运行

  • 作者更换了示例图片:
from groundingdino.util.inference import load_model, load_image, predict, annotate, Model
import cv2


CONFIG_PATH = "GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py"
CHECKPOINT_PATH = "./groundingdino_swint_ogc.pth"
DEVICE = "cuda"
IMAGE_PATH = "assets/demo1.jpg"  # 修改
TEXT_PROMPT = "bear."  # 修改
BOX_TRESHOLD = 0.35
TEXT_TRESHOLD = 0.25

image_source, image = load_image(IMAGE_PATH)
model = load_model(CONFIG_PATH, CHECKPOINT_PATH)

boxes, logits, phrases = predict(
    model=model,
    image=image,
    caption=TEXT_PROMPT,
    box_threshold=BOX_TRESHOLD,
    text_threshold=TEXT_TRESHOLD,
    device=DEVICE,
)

annotated_frame = annotate(image_source=image_source, boxes=boxes, logits=logits, phrases=phrases)
cv2.imwrite("annotated_image.jpg", annotated_frame)
  • 终端运行:
python grounding_dino_demo.py

注:Connection to huggingface.co:需要科学上网,即可消除这个警告.

  • 预测结果:


NameError: name ‘_C’ is not defined 报错

问题描述

原因

环境变量没有配置好
  • 一定要严格按照作者在前面给出的环境配置方法配置那 3 个环境变量,确保配置成功,注意那两种方式不是二选一,而是都要配置!!!
  • 虽然说不理解为什么两个都配置,但作者这样确实成功了,读者也可以试试只在 Pycharm 中配置.
安装出问题
  • 在安装 GroundingDINO 的时候,仅仅依靠以下命令是不行的:
python -m pip install -e GroundingDINO
  • 还需
cd GroundingDINO
python setup.py build
python setup.py install
文件路径太长
  • 这是作者遇到的,作者怎么也想不到是因为这个导致相关文件创建不了,在执行了python setup.py buildpython setup.py install命令后,才看见的报错信息(人麻了).

  • 在安装 grounded-sam-osx 的时候,作者才用了手动执行一个个命令就是这个原因,不执行到 原子性的命令 之前,控制台根本不会显示任何报错信息(如果确实出现了问题).

解决办法

  • 删除GroundingDINO 文件夹(特别是如果没有遗漏上述第二组命令还出现了这个报错,必须要删除生成的build、dist 文件夹,重新从项目压缩包里复制,重新安装.
  • 一句话,重开 GroundingDINO!!!(真的是血泪教训啊 qwq)

成功解决

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/359323
推荐阅读
相关标签
  

闽ICP备14008679号