当我使用NumPy时,我以原生格式* .npy存储它的数据。它的速度非常快,给了我一些好处,像这样的HDF5:存储NumPy数据
- 我能读* .npy从C代码为 简单的二进制数据(我的意思是* .npy是 二进制兼容与C结构)
现在我正在处理HDF5(此时PyTables)。正如我在教程中读到的,他们使用NumPy序列化程序来存储NumPy数据,所以我可以从简单的* .npy文件中从C读取这些数据?
HDF5的numpy是否也与C结构兼容?
UPD:
我MATLAB客户端从HDF5阅读,但不希望从C读HDF5 ++,因为从* .npy读取二进制数据的速度更快的时间,所以我真的有在读HDF5需要C++(二进制兼容) 所以我已经使用两种方式传输数据 - * .npy(从C++读取字节,从Python本地读取)和hdf5(从Matlab访问) 如果可能,想要使用只有一种方法 - hdf5,但要做到这一点,我必须找到一种方法来使hdf5与C++结构二进制兼容,请帮助,如果有某种方法可以关闭hdf5中的压缩或其他方法来使hdf5二进制兼容用C++结构 - 告诉我在哪里可以读到它...
你是说你已经在C++中使用代码来读取hdf5文件,并且你发现它比从.npy文件读取要慢得多?另外,我确信matlab可以读取原始的二进制文件,所以如果这是你使用hdf5的唯一原因,也许你应该仔细阅读将.npy文件读入matlab。 – DaveP 2010-11-09 22:23:54
不,我正在读取C++中的* .npy作为二进制数据,并且想用hdf5来完成这个技巧。从MATLAB读* .npy看起来很成问题 – 2010-11-10 08:16:02
默认情况下,HDF5没有压缩。 – Yossarian 2013-05-15 12:58:20