Я новичок в torch и lua (как может подтвердить любой, кто следил за моими последними сообщениями :), и у меня есть следующий вопрос о функции пересылки для объекта gmodule (класс nngraph).
согласно исходному коду (https://github.com/torch/nn/blob/master/Module.lua — поскольку класс gmodule наследуется от nn.module) синтаксис:
function Module:forward(input)
return self:updateOutput(input)
end
Однако я обнаружил случаи, когда в качестве входных данных передается таблица, например:
local lst = clones.rnn[t]:forward{x[{{}, t}], unpack(rnn_state[t-1])}
куда:
clones.rnn[t]
сам является объектом gmodule. В свою очередь, rnn_state[t-1] — это таблица с 4 тензорами. В итоге имеем нечто похожее на
result_var = gmodule:forward{[1]=tensor_1,[2]=tensor_2,[3]=tensor_3,...,[5]=tensor_5}
Вопрос в том, в зависимости от архитектуры сети, можете ли вы передавать входные данные, отформатированные в виде таблицы, не только на входной слой, но и на скрытые слои?
В этом случае вы должны проверить, что вы передаете ровно один вход на слой? (за исключением выходного слоя)
Огромное спасибо