假设我有一个名为test
如下:
def test(X,W):
..do stuff
return stuff
我称之为使用model = test(X,W)
.
当我第一次调用该函数时,没有收到错误。但是,如果我再次调用该函数,则会收到错误'Tensor' object is not callable
。本质上,调用代码如下所示:
model = test(X,W)
model1 = test(X,W)
我在调用时收到错误model1
.
我希望在再次调用该函数之前不需要再次重新定义该函数。经过很长一段时间的研究,我仍然没有找到解决方案。
如何修改我的函数或对其的调用以便能够调用该函数?
我可以看到一种情况,如果您将一个变量命名为与您的函数相同的变量(在“...更多内容”部分中),这意味着它在您第一次调用它时会起作用,但第二次会失败。采取以下简化示例:
def test(x,y):
global test
test = x / 2 # random calculation
return x + y
model = test(5,5)
model1 = test(10,10)
这会产生与问题中的错误非常相似的错误:
Traceback (most recent call last):
File "SO.py", line 43, in <module>
mode2 = test(10,10)
TypeError: 'float' object is not callable
解决方案是避免将变量命名为与函数相同的名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)