如何将单例 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)
我先附上代码,这会给你一个更好的主意
` 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)