#!/usr/bin/env luajit require 'torch' require 'nn' require 'profiler' local model = nn.Sequential() model:add(nn.Linear(1000, 1000)) model:add(nn.ReLU()) model:add(nn.Linear(1000, 100)) profiler.decor(model) for k = 1, 10 do local input = torch.Tensor(1000, 1000):uniform(-1, 1) local target = torch.Tensor(input:size(1), 100):uniform() local criterion = nn.MSECriterion() local output = model:forward(input) local loss = criterion:forward(output, target) local dloss = criterion:backward(output, target) model:backward(input, dloss) end profiler.print(model)