将 Torch 中的表写入文件

Writing Tables in Torch to file

我正在尝试将一些字符串表保存到 Torch 中的文件中。我已经尝试使用 Deepmind 的这个 Torch 扩展:hdf5

require 'hdf5'
label = {'a', 'b','c','d'}

local myFile = hdf5.open(features_repo .. 't.h5', 'w')
myFile:write('label', label)
myFile:close()

我收到错误:

/home/user/torch/install/bin/luajit: ...e/user/torch/install/share/lua/5.1/hdf5/group.lua:222: torch-hdf5: writing data of type string is not supported

Torch 张量已按预期写入文件。

我也尝试过使用 matio 写入 mat 文件(对于 MatLab)。我收到此错误:

bad argument #1 to 'varCreate' (cannot convert 'number' to 'const char *')

错误是因为 "label" 是一个 table 字符串,但是函数 HDF5Group:_writeData 需要 "tensor" 的形式。

查看 ffi.lua,似乎 "tensor" 是 "integer" 的 typedef,因此可能替换为:

label = {'a', 'b','c','d'}

与 标签 = {1,2,3,4}

您可以使用模块 (https://github.com/aryajur/tableUtils.git) 中的函数 t2s 生成可以保存到文件中的字符串。要转换回来,只需使用函数 s2t。