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

时间:2017-06-29 08:08:04

标签: 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.data.max(1)[1]为我们提供了最大概率的类标签,结果证明是张量值。

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

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

我无法理解为什么会收到此错误。我已经将numpy数组转换为scalr值,不是吗?不过,为什么我会收到这个错误?

任何人都可以解释并提供解决方案。我将非常感激。

1 个答案:

答案 0 :(得分:1)

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

result = []
...

result.append(prediction) # inside some loop

...

result = np.array(result)