微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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))

希望这可以帮助.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐