将标签粘贴到图像的向量上

时间:2018-10-18 20:07:47

标签: python arrays numpy vector

我有一个images列表,其中包含图像矢量和相关标签(即类)。

images.append([np.array(image_array_to_vector),np.array([label])])

如果要阅读X中的图像和y中的标签,请执行以下操作:

X = np.array([i[0] for i in images])
y = [i[1] for i in images]

然后我想将X保存在文本文件中,如下所示:

X_to_text_file = np.savetxt('x.txt', X.reshape(np.shape(X)), fmt='%5f')

以上工作正常。我要进行的更改是将标签附加到X中的矢量上,然后将其保存到文本文件中。

我尝试例如这样做:

X = np.array([[i[0],i[1]] for i in images])

但是,出现以下错误:

TypeError: Mismatch between array dtype ('object') and format specifier ('%5f %5f')

而且,当尝试按以下方式使用字典时:

X = np.array([{i[1]:i[0]} for i in images])

我收到此错误:

TypeError: unhashable type: 'numpy.ndarray'

那么,是的,如何将标签附加到矢量上并将其保存在文本文件中?

谢谢。

1 个答案:

答案 0 :(得分:0)

在不知道原始数据的外观或将来希望如何​​从.txt检索信息的情况下很难回答这个问题,而是将“%5f”格式更改为字符串“%s”格式应该可以解决您的问题:

X_to_text_file = np.savetxt('x.txt', X.reshape(np.shape(X)), fmt='%s')