gpt4 book ai didi

python - h5py 接受什么 numpy dtypes?

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:19 24 4
gpt4 key购买 nike

我正在将一个带有 numpy 类型的 Python 字典序列化为一个 H5 文件。

一般来说,代码是

for key, value in dict.items():
if isinstance(value, str):
f.attrs[key] = value.encode('utf-8')
elif isinstance(value, XXXXXX):
param_dset = f.create_dataset(key, value.shape, dtype=value.dtype)
if not value.shape:
# scalar
param_dset[()] = value
else:
param_dset[:] = value
elif isinstance(value, dict):
save_dict_to_hdf5_group(f.create_group(key), value)
else:
raise ValueError('Cannot save type "%s" to HDF5' % type(value))

我正在为将什么放入 XXXXXX 而苦恼。具体来说,我可以放任何numpy类型,还是H5只存储特定类型?

例如,(np.ndarray, np.int64) 是一个选择,但它会错过 float32(np.ndarray, np.generic) 是另一种选择,但是 H5py 是否接受所有通用 numpy 类型?

最佳答案

来自 h5py 文档:

完全支持的类型:

Type       Precisions                                    Notes
Integer 1, 2, 4 or 8 byte, BE/LE, signed/unsigned
Float 2, 4, 8, 12, 16 byte, BE/LE
Complex 8 or 16 byte, BE/LE Stored as HDF5 struct
Compound Arbitrary names and offsets
Strings (fixed-length) Any length
Strings (variable-length) Any length, ASCII or Unicode
Opaque (kind ‘V’) Any length
Boolean NumPy 1-byte bool Stored as HDF5 enum
Array Any supported type
Enumeration Any NumPy integer type Read/write as integers
References Region and object
Variable length array Any supported type See Special Types

不支持的类型:

Type                
HDF5 “time” type
NumPy “U” strings
NumPy generic “O”

关于python - h5py 接受什么 numpy dtypes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45587242/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com