训练和验证数据集类别标签映射及图片展示
训练和验证数据集类别标签映射及图片展示
本示例展示如何获取训练和验证数据集中的类别标签映射,以及如何使用 Python 代码展示部分训练集图片及其对应的类别标签。
代码示例:
labels = {value: key for key, value in train_generator.class_indices.items()}
print('Label Mappings for classes present in the training and validation datasets\n')
for key, value in labels.items():
print(f'{key} : {value}')
code = {0: 'Long sleeved', 1: 'Short sleeve', 2: 'cotton-padded jacket', 3: 'longuette', 4: 'shorts'}
x_train = []
y_train = []
for folder in os.listdir(train_dir):
files = gb.glob(pathname=str(train_dir + folder + '/*'))
for file in files:
imag = cv2.imread(file)
imag_array = cv2.resize(imag, (150, 150))
x_train.append(imag_array)
y_train.append(code[folder])
# 随机选择25张训练集图片
sample_images = random.sample(list(zip(x_train, y_train)), 25)
# 展示训练集中的部分图片及其种类
plt.figure(figsize=(20, 20))
for n, i in enumerate(list(np.random.randint(0, len(x_train), 25))):
plt.subplot(5, 5, n + 1)
plt.imshow(x_train[i])
plt.axis('off')
plt.title(code[y_train[i]])
代码说明:
labels变量用于存储类别标签映射,将训练数据集中每个类别的索引与类别名称关联。code变量用于存储类别名称与对应索引的映射关系,方便根据索引获取类别名称。- 循环遍历训练数据目录,读取每个类别文件夹下的图片文件,并将其转换为 150x150 像素的图像数组,存储在
x_train列表中。 - 对应每个图片,将该图片所在的类别索引存储在
y_train列表中。 - 从
x_train和y_train列表中随机选择 25 对图片和类别索引,并展示在图表中。
注意:
train_dir变量需要替换为训练数据目录的路径。gb需要导入 glob 库,用于获取目录下的文件列表。cv2需要导入 OpenCV 库,用于读取和处理图片。plt需要导入 matplotlib 库,用于展示图片。random需要导入 random 库,用于随机选择图片。np需要导入 numpy 库,用于生成随机数。
本示例仅展示了如何获取类别标签映射和展示部分训练集图片,具体的训练和验证过程需要根据您的具体需求进行调整。
原文地址: https://www.cveoy.top/t/topic/pcZ0 著作权归作者所有。请勿转载和采集!