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()
函数将其转换为列表。现在它像一个符咒一样工作