我正在尝试使用Torch-hdf5将一些张量保存到hdf5! 我想非常仔细地遵循这个文件: https://github.com/deepmind/torch-hdf5/blob/master/doc/usage.md 但是,在写入hdf5部分时,它的例子是: require 'hdf5'local m
我想非常仔细地遵循这个文件:
https://github.com/deepmind/torch-hdf5/blob/master/doc/usage.md
但是,在写入hdf5部分时,它的例子是:
require 'hdf5' local myFile = hdf5.open('/path/to/write.h5', 'w') myFile:write('/path/to/data', torch.rand(5, 5)) myFile:close()
我理解“/ path/to/write.h5”是指最终文件,但是什么是“/ path / to / data”?它只是一个随机的独立路径吗?所以我只是放下“数据/”.然后我得到了这个可怕的错误:
HDF5-DIAG: Error detected in HDF5 (1.8.13) thread 0: #000: H5G.c line 287 in H5Gcreate2(): no name major: Invalid arguments to routine minor: Bad value HDF5-DIAG: Error detected in HDF5 (1.8.13) thread 0: #000: H5I.c line 2245 in H5Iget_name(): can't retrieve object location major: Object atom minor: Can't get value #001: H5Gloc.c line 253 in H5G_loc(): invalid object ID major: Invalid arguments to routine minor: Bad value
hdf5是否单独存储数据和指令文件?这就是为什么我们通过两条路径?
第一个路径是磁盘上实际文件的路径.这是存储所有内容的地方.local myFile = hdf5.open('/path/to/write.h5', 'w')
第二条路径即数据路径是文件中键名的路径,它导致张量. Hdf5将数据存储为字典字典,因此/ path / to / data表示名为“path”的全局字典键,它导致名为“to”的字典键,从而导致最终键“data”,然后导致张量.这可以作为hdf5Data [“path”] [“to”] [“data”]访问,然后加载hdf5文件.
myFile:write('/path/to/data', torch.rand(5, 5))
希望这可以帮助.