當我使用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