class aSDAE_module():
def get_middle_layer(self,aSDAE,train_user):
middle=self.model.predict({'user_rating':aSDAE,'user_sideinformation':train_user},batch_size=self.batch_size)[2]
return middle
alpha = asdae_module.get_middle_layer(R.toarray(),aSDAE.toarray())
这是我的代码段,我被任何人卡住了,请帮助我在python3中运行代码。
Traceback (most recent call last):
File "./run.py", line 142, in <module>
train_user=train_user, train_item=train_item, valid_user=valid_user, test_user=test_user, R=R)
File "/home/hira/Desktop/PHD/PHDMF-master/asdae_models.py", line 52, in PHDMF
alpha = asdae_module.get_middle_layer(R.toarray(),aSDAE.toarray())
AttributeError: 'list' object has no attribute 'toarray'
请在这里帮助我解决我的愚蠢错误?
答案 0 :(得分:1)
python中没有内置类型'array',在asdae模块中做什么并不明显,但是您必须更改asdae的实现以使用列表类型对象而不是数组或使用numpy库。
为了将列表对象转换为Numpy数组,您可以执行以下代码:
import numpy as np
# converting aSDAE list to an array
aSDAE = np.array(aSDAE)