数据处理与存储:从格式到管道的全面解析
1. 数据存储格式
1.1 HDF5格式
HDF5格式适合存储具有层次结构的标记数据,特别是多标签数据集,其中标签也存在层次关系。例如,我们可以创建一个顶层组(top - level group)来存储猫的相关数据,然后在这个组下为每个品种创建子组(subgroup),在每个子组中再创建数据集(dataset)来存储对应品种猫的图像。
以下是一个示例代码,展示了如何使用HDF5存储猫的图像数据:
import h5py
# 假设x_cats是一个包含不同品种猫图像的字典
with h5py.File('myfile.h5', 'w') as hf:
# 创建顶层组cats并设置标签
cats = hf.create_group('cats')
cats.attrs['label'] = 0
# 创建子组persian并设置标签,添加图像数据
breed = cats.create_group('persian')
breed.attrs['label'] = 100
breed.create_dataset('images', data=x_cats['persian'])
# 创建子组siamese并设置标签,添加图像数据
breed = cats.create_group('siamese')
breed.attrs['label'] = 10