Lua表插入获取相同的元素

时间:2014-07-11 17:53:43

标签: lua lua-table

这是我的代码:

 30   for t = 1,testData:size() do
 33       -- get new sample
 34       local input = testData.data[t]
 35       if opt.type == 'double' then input = input:double()
 36       elseif opt.type == 'cuda' then input = input:cuda() end
 37       local target = testData.labels[t]
 38       -- test sample
 39       local pred = model:forward(input)
 40       test_result[t]=pred
 41       
 42       local err = criterion:forward(pred,target)
 43       te_error = te_error+err 
 44    end
 45    print(test_result[1])
 46    print(test_result[2])

我得到了相同的元素,所以我的表只存储了最后一个元素,为什么?

1 个答案:

答案 0 :(得分:1)

我打赌model:forward(input)正在返回一个全局表。因此,所有testResult都将指向同一个全局表。您可以在收到后打印pred来检查:如果是全局表,它将始终具有相同的“值”(指针)。验证model:forward是否返回该函数的本地表。