使用 nms 时出错,:“模块”对象不可调用

Posted

技术标签:

【中文标题】使用 nms 时出错,:“模块”对象不可调用【英文标题】:Get error for using nms, : 'module' object is not callable 【发布时间】:2021-10-01 20:22:28 【问题描述】:

我的代码是:

keep, num_to_keep, _ = nms(proposals, scores, overlap=nms_thres, top_k=nms_topk)

我收到了这个错误:

File "C:\Users\RaSoul\LaneATT\lib\models\laneatt.py", line 129, in nms
    keep, num_to_keep, _ = nms(proposals, scores, overlap=nms_thres, top_k=nms_topk)
TypeError: 'module' object is not callable

我对这个错误感到困惑,这是为什么呢?

【问题讨论】:

请阅读minimal reproducible example。我们不知道您要调用什么 nms 函数。必须包含所有导入语句,以便我们理解。 您是如何导入 nms 名称的?它来自哪个图书馆? 不能使用方括号,因为它不是函数数据类型,而是module 对象。所以,也许你不能把参数放在括号里。 【参考方案1】:

似乎nmsnms.py 文件中定义的函数。 导入nms时:

import nms

您将文件nms.py 中的所有函数导入“范围”nms。因此,您应该像这样调用nms.py中定义的函数nms

keep, num_to_keep, _ = nms.nms(proposals, scores, overlap=nms_thres, top_k=nms_topk)

或者,您可以从nms.py 导入特定函数nms

from nms import nms

这会将nms 函数置于全局“范围”中,您无需使用nms.nms(...) 调用它,而只需使用nms(...)

【讨论】:

感谢您的帮助....我已经从 nms 导入 nms,但我仍然收到此错误。

以上是关于使用 nms 时出错,:“模块”对象不可调用的主要内容,如果未能解决你的问题,请参考以下文章

TypeError:调用元类基“函数”对象时出错不可迭代

模块对象不可调用(kerastuner)

使用restkit api目标c调用Web服务时出错

Pytorch 1.7.0 | DataLoader 错误 - TypeError:“模块”对象不可调用

lambda and TypeError:'模块'对象不可调用[重复]

为啥“模块”对象不可调用? [复制]