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())
Run Code Online (Sandbox Code Playgroud)
这是我卡住的一段代码,我不知道如何解决以下错误:
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'
Run Code Online (Sandbox Code Playgroud)
python 中没有内置类型“数组”,你在 asdae 模块中做什么并不明显,但是你必须更改 asdae 的实现以使用列表类型对象而不是数组或使用 Numpy 库。
为了将列表对象转换为 Numpy 数组,您可以像这样的代码:
import numpy as np
# converting aSDAE list to an array
aSDAE = np.array(aSDAE)
Run Code Online (Sandbox Code Playgroud)