在我的自定义模块中覆盖torch中的updateGradInput方法不起作用

时间:2015-11-03 09:16:46

标签: lua machine-learning deep-learning torch

我实现了一个名为sharedModule的模块供我自己使用。我已经覆盖了下面的updateGradInput方法:

    function SharedModule:updateGradInput(input, gradOutput)
    test_grad = {}

    print("call updateGradInput")
    test_input = input
    test_gradOutput = gradOutput
    assert(type(gradOutput) == 'table' and #input == #gradOutput)

    local T = #input
    for t = 1, T do
            self.gradInput[t] = self.clones[t]: updateGradInput(input[t], gradOutput[t])
            test_grad[t] = self.gradInput[t]
    end
    print(#self.gradInput)  -- print normal value 
    --self.gradInput = test_grad  -- 
    return self.gradInput  -- empty, ???
    end

然而,当我在我的模块上调用后退方法时,self.gradInput字段没有更新,问题是什么,任何人都可以帮助我?

1 个答案:

答案 0 :(得分:1)

后向方法将调用名为updateGradInput和accGradParams的两个方法,结果是由于拼写错误而在accGradParams中发生错误