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

前端之家收集整理的这篇文章主要介绍了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))

希望这可以帮助.

猜你在找的Lua相关文章