【发布时间】:2016-07-30 07:44:39
【问题描述】:
我想将字符串名称评估为 Lua/Torch 中的函数。下面是我想做的一个例子:
require 'torch'
tensorType = torch.getdefaulttensortype()
print (tensorType) -- Will print "torch.DoubleTensor"
我的目标是能够使用tensorType 中的字符串作为函数的名称,并像下面这样评估该函数:
tensorType(some arguments)
在 MATLAB 和 Python 中有一个可以执行任意字符串的 `eval()' 函数。 Lua/Torch中有这样的功能吗?
如何在 Torch/Lua 中做到这一点?
【问题讨论】:
-
请多解释。函数没有名称。无论如何,“torch.DoubleTensor”不是标识符。你的意思是它是一种表达方式吗? “火炬”会是一个全局变量吗?
-
@TomBlodget 我不清楚你的意思,但据我所知,函数有名称(如问题中给出的示例)。我认为您的机器上没有安装“Torch”。我说的对吗?
-
抱歉这么简洁。函数是由一个或多个变量引用的值。如果你有一个你认为是函数的值,你可以尝试调用它。所以,那部分变得不重要了。问题是“torch.DoubleTensor”是什么意思。根据您的 cmets,您需要一个一般性的答案。它看起来像一个标识符,点,标识符。这可能是使用索引(键)作为字符串(第二个标识符)执行索引操作的表达式。 @lhf 展示了如何使用它——假设“torch”是一个范围内的变量,如果它是一个全局变量,那就是。
标签: python matlab lua eval torch