NumPy を使用したとき、そのデータをネイティブ形式 *.npy で保存しました。それは非常に速く、このようないくつかの利点を私に与えました
- C コードから *.npy を単純なバイナリ データとして読み取ることができました (つまり、*.npy は C 構造とバイナリ互換です)。
今、私は HDF5 (現時点では PyTables) を扱っています。チュートリアルで読んだように、彼らは NumPy シリアライザーを使用して NumPy データを保存しているので、単純な *.npy ファイルから C からこれらのデータを読み取ることができますか?
HDF5 の numpy は C 構造体ともバイナリ互換ですか?
更新日:
hdf5から読み取るmatlabクライアントがありますが、* .npyからバイナリデータを読み取る方が数倍高速であるため、C++からhdf5を読み取りたくないので、C++からhdf5を読み取る必要があります(バイナリ互換性)だから私はすでにデータを転送するための2つの方法を使用しています-* .npy(C++からバイトとして読み取り、Pythonからネイティブに)およびhdf5(Matlabからのアクセス)そして、可能であれば、唯一の方法であるhdf5を使用したいのですが、これを行うために私は持っていますC++構造でhdf5をバイナリ互換にする方法を見つけるには、助けてください.hdf5で圧縮をオフにする方法や、C++構造でhdf5をバイナリ互換にする方法があれば、それについてどこで読めるか教えてください...