我有1976个训练图像的文件夹。每个图像都有一个形状(118,128,1)(灰度图像)。我创建了一个包含所有图像的数组:
import glob
import scipy
import cv2
images = [cv2.imread(path, 0) for path in glob.glob('rootDir/train/*.png')]
images = np.asarray(images)
产生:
images
out[0] array([[[ 38, 47, 51, ..., 53, 53, 46],
[ 48, 49, 50, ..., 53, 50, 51],
[ 48, 51, 53, ..., 54, 50, 51],
...,
[ 59, 61, 57, ..., 194, 195, 200],
[ 76, 71, 65, ..., 212, 212, 199],
[ 81, 80, 77, ..., 179, 184, 197]],
....
images.shape
out[1]: (1976, 128, 118)
现在的事情是,我将图像的标签以以下格式存储在csv文件中:
id,appliance
1000,8
1001,1
1002,8
1003,1
1004,6
1005,1
1006,1
1007,2
1008
1009,5
1010
1011,3
1012,2
....
id与每个图像的文件名匹配,“设备”列包含分配给每个图像进行训练的标签值。
为了使用CNTK将数据提供给CNN模型,我需要将图像数据转换为具有图像特征及其标签的单点编码数组。我想要的预期输出将是这样的:
|labels 0 0 0 1 0 0 0 0 0 0 |features 0 0 0 0 ...
(15104 integers each representing a pixel)
我完全迷失了,感谢对此的任何帮助。
根据DAN-MASEK的评论进行编辑:
丹,您好,这是错误的屏幕截图:
就像我之前说的,我像这样设置变量ID_APP_MAP_FILENAME ='train_labels.csv'。告诉我您是否需要任何进一步的信息。谢谢