-- Create a model
+local w, h, fs = 50, 50, 3
+local nhu = (w - fs + 1) * (h - fs + 1)
+
local model = nn.Sequential()
:add(nn.Sequential()
- :add(nn.Linear(1000, 1000))
+ :add(nn.SpatialConvolution(1, 1, fs, fs))
+ :add(nn.Reshape(nhu))
+ :add(nn.Linear(nhu, 1000))
:add(nn.ReLU())
)
:add(nn.Linear(1000, 100))
-- Decor it for profiling
-profiler.decor(model)
+profiler.decorate(model)
print()
+torch.save('model.t7', model)
+
-- Create the data and criterion
-local input = torch.Tensor(1000, 1000)
+local input = torch.Tensor(1000, 1, h, w)
local target = torch.Tensor(input:size(1), 100)
local criterion = nn.MSECriterion()
-- Print the accumulated timings
--- profiler.print(model, nbSamples)
-profiler.print(model)
+-- profiler.color = false
+profiler.print(model, nbSamples, modelTime)
+-- profiler.print(model)
-print()
print(string.format('Total model time %.02fs', modelTime))
print(string.format('Total data time %.02fs', dataTime))