使用 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】:
似乎nms
是nms.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 时出错,:“模块”对象不可调用的主要内容,如果未能解决你的问题,请参考以下文章
Pytorch 1.7.0 | DataLoader 错误 - TypeError:“模块”对象不可调用