加载H5文件并在Python中存储与新H5文件相同的数据:文件大小增加

2024-09-27 20:18:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个H5文件,名为file.h5,它存储一个红外图像。此文件大小为282KB:

$ ls -l -sh file.h5
688 -rw-r--r--  1 user  staff   282K Feb  2 00:25 file.h5

首先,我使用库h5py在python中加载文件。在

^{pr2}$

然后,我将这个相同的数据存储为一个新的H5文件(从282kbh5文件中检索)。在

>> hf2 = h5py.File('file2.h5', 'w')
>> hf2.create_dataset('infrared', data=data)

由于没有对数据进行处理,也没有在H5文件中添加新字段,所以我希望大小完全相同。然而,令我惊讶的是,我最终得到了一个2 MB大小的新H5文件!!在

$ ls -l -sh file2.h5
4104 -rw-r--r--  1 user  staff   2.0M Feb  2 00:39 file2.h5

编辑:仔细观察

在下面,我列出了每个数据集(来自旧文件和新文件)的注释中建议的一些参数。在

旧文件(hf)中的数据集

>> hf['infrared']
<HDF5 dataset "infrared": shape (512, 512), type "<f8">
>> hf['infrared'].size
262144
>> hf['infrared'].shape
(512, 512)
>> hf['infrared'].dtype
dtype('float64')
>> hf['infrared'].chunks
(256, 256)
>> hf['infrared'].compression
'gzip'
>> hf['infrared'].shuffle
False

新文件中的数据集(hf2)

>> hf2['infrared']
<HDF5 dataset "infrared": shape (512, 512), type "<f8">
>> hf2['infrared'].size
262144
>> hf2['infrared'].shape
(512, 512)
>> hf2['infrared'].dtype
dtype('float64')
>> hf2['infrared'].chunks
>> hf2['infrared'].compression
>> hf2['infrared'].shuffle
False

Tags: 文件数据shlsdatasetfile2fileh5

热门问题