如何正确使用torch/dp库中的DataSource?

我对编程语言Lua和Torch库都很新手。我正在尝试尽快让一些机器学习算法运行起来。我尝试使用dp库的示例here来获取神经网络。但我无法将我的数据集转换成可输入学习算法的形式。我认为我最好和最初的猜测是这样做的:

train_set = dp.DataSet(dataset[1], dataset[2])
test_set = dp.DataSet(test_dataset[1], test_dataset[2])

ds = dp.DataSource(train_set=train_set, test_set=test_set)

这会产生错误:filename.lua:56: ')' expected near '='

其中dataset[1]是一个包含有关数据信息的torch.Tensor,而dataset[2]是我想要知道的数据的二进制信息的torch.Tensor。

希望这不是一个愚蠢的语法错误。

点赞
用户4850610
用户4850610

没错,这是一个语法错误。Lua 没有命名参数。Lua 的专家们 使用表格来模拟这种特性

因此,尝试这个: dp.DataSource({train_set=train_set, test_set=test_set}) 或者只需使用这个: dp.DataSource{train_set=train_set, test_set=test_set} (如果一个函数只有一个参数,你可以移除括号)。

2015-07-12 17:00:08