AttributeError:“列表”对象没有属性“ toarray”

时间:2018-11-27 09:04:34

标签: python python-3.x

    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'

请在这里帮助我解决我的愚蠢错误?

1 个答案:

答案 0 :(得分:1)

python中没有内置类型'array',在asdae模块中做什么并不明显,但是您必须更改asdae的实现以使用列表类型对象而不是数组或使用numpy库。

为了将列表对象转换为Numpy数组,您可以执行以下代码:

import numpy as np
# converting aSDAE list to an array
aSDAE = np.array(aSDAE)