如何解决类型错误:“模块”对象不可调用我尝试了各种解决方案,但到目前为止没有任何效果
我正在处理一个问题,但被卡住了。当其他类位于不同的文件中时,我无法理解如何访问它们。我不断收到同样的错误 - “模块”对象不可调用。
我为推荐系统制作了一个CFModel函数并保存为CFModel.py。
感谢任何帮助,谢谢。
import numpy as np
from keras.layers import merge
from keras.layers import Embedding,Reshape
from keras.models import Sequential
class CFModel(Sequential):
def __init__(self,n_users,m_items,k_factors,**kwargs):
P = Sequential()
P.add(Embedding(n_users,input_length=1))
P.add(Reshape((k_factors,)))
Q = Sequential()
Q.add(Embedding(m_items,input_length=1))
Q.add(Reshape((k_factors,)))
super().__init__()
#super(CFModel,self).__init__(**kwargs)
self.add(merge([P,Q],mode='dot',dot_axes=1))
def rate(self,user_id,recipe_id):
return self.predict([np.array([customer_id]),np.array([recipe_id])])[0][0]```
** And I am using it here **
from CFModel import CFModel
model = CFModel(max_userid,max_recipeid,K_FACTORS)
model.compile(loss='mse',optimizer='adamax')
Full Error log
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-12-90d66803fcfe> in <module>
1 from CFModel import CFModel
----> 2 model = CFModel(max_userid,K_FACTORS)
3 model.compile(loss='mse',optimizer='adamax')
~/CFModel.py in __init__(self,**kwargs)
27
28 super(CFModel,self).__init__(**kwargs)
---> 29 self.add(merge([P,dot_axes=1))
30
31 # The Merge layer takes the dot product of user and movie latent factor vectors to return the corresponding rating.
TypeError: 'module' object is not callable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。