AttributeError: 'list' 对象没有属性 'toarray'

Hir*_*wal 0 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()) 
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)

Ara*_*syh 5

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)