Removed the signature.
[profiler-torch.git] / test-profiler.lua
index a78c944..92f186e 100755 (executable)
@@ -2,33 +2,20 @@
 
 --[[
 
-   Written by Francois Fleuret (francois@fleuret.org)
-
-   This is free and unencumbered software released into the public
-   domain.
-
-   Anyone is free to copy, modify, publish, use, compile, sell, or
-   distribute this software, either in source code form or as a
-   compiled binary, for any purpose, commercial or non-commercial, and
-   by any means.
-
-   In jurisdictions that recognize copyright laws, the author or
-   authors of this software dedicate any and all copyright interest in
-   the software to the public domain. We make this dedication for the
-   benefit of the public at large and to the detriment of our heirs
-   and successors. We intend this dedication to be an overt act of
-   relinquishment in perpetuity of all present and future rights to
-   this software under copyright law.
-
-   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-   NONINFRINGEMENT.  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
-   CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
-   CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-   WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-   For more information, please refer to <http://unlicense.org/>
+   Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/
+   Written by Francois Fleuret <francois.fleuret@idiap.ch>
+
+   This file is free software: you can redistribute it and/or modify
+   it under the terms of the GNU General Public License version 3 as
+   published by the Free Software Foundation.
+
+   It is distributed in the hope that it will be useful, but WITHOUT
+   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
+   License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this file.  If not, see <http://www.gnu.org/licenses/>.
 
 ]]--
 
@@ -39,23 +26,25 @@ require 'profiler'
 
 -- 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
+-- Decorate it for profiling
 
 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()
 
@@ -88,9 +77,10 @@ end
 
 -- Print the accumulated timings
 
+print()
+-- profiler.color = false
 profiler.print(model, nbSamples)
 -- profiler.print(model)
 
-print()
 print(string.format('Total model time %.02fs', modelTime))
 print(string.format('Total data time %.02fs', dataTime))