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

how to append a singleton numpy array item into a list?

我先附上代码,这会给你一个更好的主意

`   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]行给了我们概率最大的class标签,原来是张量值

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

现在,当我尝试使用 pattern.append(prediction) 附加此值时 我收到以下错误 'numpy.ndarray' object has no attribute 'append'

我无法理解为什么会出现此错误。我已经将 numpy 数组转换为标量值,不是吗?不过,为什么我会收到该错误消息?

谁能解释一下并提供解决方案。将不胜感激。

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

result = []
...

result.append(prediction) # inside some loop

...

result = np.array(result)