debug: NameError: name ‘_C‘ is not defined 本地运行 GroundingDINO 代码 debug 记录

这篇具有很好参考价值的文章主要介绍了debug: NameError: name ‘_C‘ is not defined 本地运行 GroundingDINO 代码 debug 记录。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在本地跑 GroundingDINO 代码 (github)

首先down下来代码:
git clone https://github.com/IDEA-Research/GroundingDINO.git
然后跟着 readme 走,先下载预训练参数放到 ./weight 文件夹:
mkdir weights
cd weights
wget -q https://github.com/IDEA-Research/GroundingDINO/releases/download/v0.1.0-alpha/groundingdino_swint_ogc.pth

然后新开一个 py 文件,复制 readme 上的代码运行:

from groundingdino.util.inference import load_model, load_image, predict, annotate
import cv2

model = load_model("groundingdino/config/GroundingDINO_SwinT_OGC.py", "weights/groundingdino_swint_ogc.pth")
IMAGE_PATH = "weights/dog-3.jpeg"
TEXT_PROMPT = "chair . person . dog ."
BOX_TRESHOLD = 0.35
TEXT_TRESHOLD = 0.25

image_source, image = load_image(IMAGE_PATH)

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

annotated_frame = annotate(image_source=image_source, boxes=boxes, logits=logits, phrases=phrases)
cv2.imwrite("annotated_image.jpg", annotated_frame)

然后报错和 debug,这个错误都是普适性错误,第二次犯了,所以记录下来,防止再犯

NameError: name ‘_C’ is not defined

省流

运行
pip3 install -q -e .

详细过程

之前跑另一个模型的时候也遇到这个问题,勉强记得是因为没有编译模型。down 下来的代码有个 setup.py 文件,于是我尝试运行:
python setup.py

但是报错:error: no commands supplied

然后发现后面应该加上 build 或者 install,所以我重新运行:
python setup.py install
python setup.py build
但是还是不行,还是报错

查到大家在讨论这个问题:NameError: name ‘_C’ is not defined

说应该设置环境变量 CUDA_HOME,原因是,查 setup 代码:

   if CUDA_HOME is not None and (torch.cuda.is_available() or "TORCH_CUDA_ARCH_LIST" in os.environ):
       print("Compiling with CUDA")
       extension = CUDAExtension
       sources += source_cuda
       define_macros += [("WITH_CUDA", None)]
       extra_compile_args["nvcc"] = [
           "-DCUDA_HAS_FP16=1",
           "-D__CUDA_NO_HALF_OPERATORS__",
           "-D__CUDA_NO_HALF_CONVERSIONS__",
           "-D__CUDA_NO_HALF2_OPERATORS__",
        ]

但是确实打印了 Compiling with CUDA,但是还是没有那个重要的 _C

然后重新看了下 readme 怎么写的,发现有一步是:pip3 install -q -e .
这步我当时跳过了,因为我本地有一个已经配置好的环境,需要的包都装好了,想着不用 install 了反而把已经配置好的版本弄乱了,没想到就是这句话决定了一切 orz

结论:要遵循 readme 写的来做,不然人家为啥那么写呢。文章来源地址https://www.toymoban.com/news/detail-580174.html

到了这里,关于debug: NameError: name ‘_C‘ is not defined 本地运行 GroundingDINO 代码 debug 记录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Python】成功解决NameError: name ‘np‘ is not defined

    【Python】成功解决NameError: name ‘np’ is not defined 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、Py

    2024年04月22日
    浏览(38)
  • 【Python】成功解决NameError: name ‘a‘ is not defined

    【Python】成功解决NameError: name ‘a’ is not defined 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、PyT

    2024年03月19日
    浏览(69)
  • 如何解决 Python 错误 NameError: name ‘X‘ is not defined

    Python“ NameError: name is not defined ”发生在我们试图访问一个未定义的变量或函数时,或者在它被定义之前。 要解决该错误,需要确保我们没有拼错变量名并在声明后访问它。 下面是产生上述错误的示例代码。 问题是我们拼错了变量名。 请注意,变量、函数和类的名称区分大

    2024年02月01日
    浏览(72)
  • 【Python】成功解决NameError: name ‘cv2‘ is not defined

    【Python】成功解决NameError: name ‘cv2’ is not defined 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得到您的订阅和支持~ 💡 创作高质量博文(平均质量分92+),分享更多关于深度学习、P

    2024年04月09日
    浏览(51)
  • python+selenium报错AttributeError: ‘WebDriver‘ NameError: name ‘By‘ is not defined

    python 3.10.1 selenium 4.4.3 旧版本导包:    新版本导包: 需要多导一个,否则By 是报错的 定位语句  

    2024年02月16日
    浏览(47)
  • 已解决(最新版selenium框架元素定位报错)NameError: name ‘By‘ is not defined

    已解决(最新版selenium框架元素定位报错)NameError: name ‘By‘ is not defined 一个粉丝群的小伙伴提出的问题,操作selenium定位元素的时候报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下希望可以帮助到更多遇到这个bug不会解决的小伙伴

    2023年04月10日
    浏览(58)
  • 完美解决丨#在python中,如果引用的变量未定义,则会报告NameError: name ‘变量名‘ is not defined。

    NameError 在python中,如果引用的变量未定义,则会报告NameError: name \\\'变量名\\\' is not defined。 如下代码抛出了一个异常: !/usr/bin/env python - - coding:utf-8 - - print \\\'hello world\\\' print \\\'hello %s\\\' % name 报错信息如下: Traceback (most recent call last): File \\\"hello.py\\\", line 6, in module print \\\'hello %s\\\' % name NameE

    2023年04月22日
    浏览(45)
  • 解决pyQT5运行出现“name ‘Ui_MainWindow‘ is not defined”问题

    按理说,在自行编辑好界面保存 生成一个ui文件后,再转成py文件 但是直接运行py文件出现不能出现界面 需要输入一下代码: from PyQt5.QtWidgets import QMainWindow,QApplication import sys if __name__ == \\\'__main__\\\':     app = QApplication(sys.argv)     window = QMainWindow()     ui = Ui_MainWindow()     ui.set

    2024年02月02日
    浏览(53)
  • Luckysheet本地导入时报错‘luckysheet‘ is not defined【已解决】

    本文包含luckysheet本地安装以及报错解决,性子急可以直接按照目录划拉! 目录 一、本地导入 二、报错\\\'luckysheet\\\' is not defined解决 最近正在开发的项目中需要类excel功能的东西,经过调研后决定用luckysheet,Luckysheet在线表格,功能强大、配置简单、关键是完全开源。一开始本地

    2023年04月13日
    浏览(31)
  • React is not defined解决

     组件未引入React报错React is not defined 神奇的是代码内并没有用到React的地方 必需要导入React才不报错 看着就很奇怪 原因是因为React创建组件需要使用到React上的一个方法createClass创建组件 在babel-loader的@babel/preset-react预设里写个配置即可不用导入也不报错:

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包