【发布时间】:2016-09-19 09:28:26
【问题描述】:
在 LuaJIT ffi cdata [1] 和 Torch Tensor [2] 之间执行转换的最佳方法是什么。
根据 Mike 在 lua-user 邮件列表 [3] 中的回复,如果我们真的想将 cdata 转换为 lua 普通表,我们必须做一个循环,将每个项目复制到一个新创建的表中。实际上,Torch Tensor 确实为更好的 LuaJIT ffi 访问提供了一些接口 [4]。所以,我目前的解决方案是先做一个循环,然后将 cdata 转换为 lua 普通表,然后调用从表中创建张量的张量构造函数 [5]。
但实际上在我的情况下,我需要非常频繁地在 LuaJIT ffi cdata 和 Torch Tensor 之间进行类似的转换,有没有比循环复制更好的方法?
- [1]http://luajit.org/ext_ffi_api.html(
Creating cdata Objects部分) - [2]https://github.com/torch/torch7/blob/master/doc/tensor.md
- [3]http://lua-users.org/lists/lua-l/2011-03/msg00584.html
- [4]https://github.com/torch/torch7/blob/master/doc/tensor.md#luajit-ffi-access
- [5]https://github.com/torch/torch7/blob/master/doc/tensor.md#torchtensortable
【问题讨论】:
标签: type-conversion cdata ffi torch luajit