首页 > 解决方案 > 将标签附加到图像的矢量上

问题描述

我有一个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'

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

谢谢。

标签: pythonarraysnumpyvector

解决方案


在不知道原始数据的样子或将来如何从 .t​​xt 中检索信息的情况下,有点难以回答这个问题,但是将“%5f”格式更改为字符串“%s”格式应该可以解决您的问题问题:

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

推荐阅读