Python 如何将单个numpy数组项附加到列表中?

Python 如何将单个numpy数组项附加到列表中?,python,arrays,numpy,pytorch,Python,Arrays,Numpy,Pytorch,我附加的代码首先会给你一个更好的想法 ` prediction = prediction.data.max(1)[1] #gives a tensor value prediction = (prediction.cpu().numpy().item()) #converts that tensor into a numpy array result.append(int_to_word[prediction])` 我正在使用pytorch生成单词。行prediction

我附加的代码首先会给你一个更好的想法

`   prediction = prediction.data.max(1)[1] #gives a tensor value
    prediction = (prediction.cpu().numpy().item()) #converts that tensor into a numpy array 
    result.append(int_to_word[prediction])`
我正在使用pytorch生成单词。行
prediction=prediction.data.max(1)[1]
为我们提供了具有最大概率的类标签,这是一个张量值

prediction=(prediction.cpu().numpy().item())
此语句将张量转换为numpy数组,函数
item()
从数组中提取值

现在,当我尝试使用
pattern.append(prediction)
我得到以下错误
“numpy.ndarray”对象没有属性“append”

我无法理解为什么我会出现这个错误。我已经将numpy数组转换为scalr值,不是吗??不过,为什么我会犯这样的错误

请任何人解释一下并提供解决方案。非常感谢。

Numpy数组的维数是不变的。它们不支持
append
操作。您必须将
结果
声明为列表,然后将值附加到列表中,然后将其转换为numpy数组:

result = []
...

result.append(prediction) # inside some loop

...

result = np.array(result)

看起来您的
结果
(从中调用方法
.append
)是
numpy.ndarray
,而您可能希望它是一个列表。尝试将其初始化为列表,或使用
numpy.concat
hey感谢您的评论。看来预言是一门课。我使用
.tolist()
函数将其转换为列表。现在它像一个符咒一样工作