NameError:未定义名称“点”

时间:2018-08-11 07:23:40

标签: tensorflow keras

我正在使用Tensorflow和Keras。我编写了代码,

from keras.layers import *    


match = dot([input_encoded_m, question_encoded], axes=(2, 2))

当我运行它时,

match = dot([input_encoded_m, question_encoded], axes=(2, 2))
NameError: name 'dot' is not defined

发生错误。我认为通过使用import *可以调用点方法,但这是错误的吗?我该如何解决?

2 个答案:

答案 0 :(得分:0)

这就是您想要的

from keras.layers import dot

match = dot([input_encoded_m, question_encoded], axes=(2, 2))

这只是对未来的建议:根本不要通过*进行导入,因为知道里面的内容可能会产生误导,并且您可以使用相同的名称空间轻松地出错。始终像使用import xxx一样导入完整的库(脚本),或者仅使用from xxx import xxx来仅导入某些函数,类等,而永远不要通过*来导入。

答案 1 :(得分:-1)

dot是NumPy的函数,您只需通过numpy.dot(x,y)对其进行调用,就可以正常工作...