lua – 使用Torch-hdf5将Tensor保存到Hdf5

我正在尝试使用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”?它只是一个随机的独立路径吗?所以我只是放下“数据/”.然后我得到了这个可怕的错误

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',5))

希望这可以帮助.

相关文章

1.github代码实践源代码是lua脚本语言,下载th之后运行thmai...
此文为搬运帖,原帖地址https://www.cnblogs.com/zwywilliam/...
Rime输入法通过定义lua文件,可以实现获取当前时间日期的功能...
localfunctiongenerate_action(params)localscale_action=cc...
2022年1月11日13:57:45 官方:https://opm.openresty.org/官...
在Lua中的table(表),就像c#中的HashMap(哈希表),key和...