JLD,HDF5和JLD2格式之间在Julia中存储复杂数据似乎存在问题。直到最近,JLD似乎还可以很好地运行,并且据信它是HDF5兼容的。我有一个数据集,其中包含一些数据类型为Set的数据。以JLD格式保存和检索它很简单。但是现在从Julia 1.0.0开始不推荐使用JLD,而JLD2是“新方法”,但它在页面中明确表示不向后兼容或安全((如果您对数据丢失的容忍度很低, ,此时JLD可能是更好的选择”)。 Okey,但是JLD无法在Julia 1.0.0上编译。所以我不能使用它。 HDF5似乎可以轻松地打开JLD,并且能够很好地检索阵列。但不是布景。当我尝试检索Set时,得到以下信息:
HDF5.HDF5Compound{1}((UInt8[0x68, 0x59, 0x46, 0x02, 0x00, 0x00, 0x00, 0x00],), ("dict_",), (HDF5.HDF5ReferenceObj,))
我不知道这是什么物体,或者如何解释它。原始数据是一组包含两个整数数组作为元素的集合。我试图通过索引读取它,但是无法读取,它说的有点类似于“ dict”,但是上面没有名称。
我也许可以使用Julia 0.6.2脚本将所有数据转换为JLD或普通的HDF5,但是也许我可以学会使用hdf5 + Julia 1.0.0正确地做到这一点