我对编程语言Lua和torch库都是新手。我正在尝试尽快让一些机器学习算法运行起来。我尝试使用dp库中的示例这里来构建神经网络。但我无法将我的数据集转换成适合输入学习算法的形式。我最初的想法是这么做的:
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。
希望这不是一个愚蠢的语法错误。
回答:
是的,这是一个语法错误。Lua没有命名参数。Lua的专家们使用表来模拟这种功能。
所以,试试这个:dp.DataSource({train_set=train_set, test_set=test_set})
或者dp.DataSource{train_set=train_set, test_set=test_set}
(如果函数只有一个参数,你可以省略括号)。