我正在尝试使用Torch-hdf5将一些张量保存到hdf5!
我想非常仔细地遵循这个文档: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”呢?它只是一条随机的独立路径吗?所以我只写下了"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 valuehdf5是否将数据和指令文件分开存储?这就是我们通过两条路径的原因吗?
发布于 2017-03-23 06:34:50
第一个路径是磁盘上实际文件的路径。这是存储一切的地方。
local myFile = hdf5.open('/path/to/write.h5', 'w')第二个路径,即数据路径,是文件内的键名的路径,它通向张量。Hdf5将数据存储为字典字典,因此/path/ to /data表示名为"path“的全局字典关键字,该全局字典关键字指向名为" to”的字典关键字,该字典关键字指向最终关键字" data ",而最终关键字“data”则指向张量。当加载hdf5文件时,可以作为hdf5Data"path""data“访问。
myFile:write('/path/to/data', torch.rand(5, 5))希望这能有所帮助。
发布于 2017-10-19 04:06:45
我是一名HDF5开发人员,不是Torch开发人员,所以我不知道Torch是如何工作的,但我可以指出,HDF5允许用户在HDF5文件中创建分层的“组”(因此HDF5中的H)。它们的表示方式与POSIX系统上的文件路径相同。在/path/to/data中,'path‘和'to’将是HDF5组,而'data‘将是HDF5数据集,或者可能是张量将存储一个或多个具有标准名称的数据集的HDF5组(快速浏览火炬会使其看起来像前者)。
https://stackoverflow.com/questions/39220312
复制相似问题