这是我的代码:
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])
我得到了相同的元素,所以我的表只存储了最后一个元素,为什么?
答案 0 :(得分:1)
我打赌model:forward(input)
正在返回一个全局表。因此,所有testResult都将指向同一个全局表。您可以在收到后打印pred
来检查:如果是全局表,它将始终具有相同的“值”(指针)。验证model:forward
是否返回该函数的本地表。