1
0
Fork 0
mirror of synced 2024-05-19 04:12:19 +12:00

Improve benchmark script

This commit is contained in:
nagadomi 2016-04-12 02:26:30 +09:00
parent 1407973b88
commit d31fbe9bb1

View file

@ -7,6 +7,7 @@ local iproc = require 'iproc'
local reconstruct = require 'reconstruct'
local image_loader = require 'image_loader'
local gm = require 'graphicsmagick'
local cjson = require 'cjson'
local cmd = torch.CmdLine()
cmd:text()
@ -30,6 +31,8 @@ cmd:option("-save_baseline_image", 0, 'save baseline images')
cmd:option("-output_dir", "./", 'output directroy')
cmd:option("-show_progress", 1, 'show progressbar')
cmd:option("-baseline_filter", "Catrom", 'baseline interpolation (Box|Lanczos|Catrom(Bicubic))')
cmd:option("-save_info", 0, 'save score and parameters to benchmark.txt')
cmd:option("-save_all", 0, 'group -save_info, -save_image and -save_baseline_image option')
local function to_bool(settings, name)
if settings[name] == 1 then
@ -45,8 +48,16 @@ if cudnn then
cudnn.benchmark = false
end
to_bool(opt, "gamma_correction")
to_bool(opt, "save_image")
to_bool(opt, "save_baseline_image")
to_bool(opt, "save_all")
if opt.save_all then
opt.save_image = true
opt.save_info = true
opt.save_baseline_image = true
else
to_bool(opt, "save_image")
to_bool(opt, "save_info")
to_bool(opt, "save_baseline_image")
end
to_bool(opt, "show_progress")
local function rgb2y_matlab(x)
@ -207,6 +218,23 @@ local function benchmark(opt, x, input_func, model1, model2)
io.stdout:flush()
end
end
if opt.save_info then
local fp = io.open(path.join(opt.output_dir, "benchmark.txt"), "w")
fp:write("options : " .. cjson.encode(opt) .. "\n")
if baseline_psnr > 0 then
fp:write(string.format("baseline: RMSE = %.3f, PSNR = %.3f\n",
math.sqrt(baseline_mse / #x), baseline_psnr / #x))
end
if model1_psnr > 0 then
fp:write(string.format("model1 : RMSE = %.3f, PSNR = %.3f\n",
math.sqrt(model1_mse / #x), model1_psnr / #x))
end
if model2_psnr > 0 then
fp:write(string.format("model2 : RMSE = %.3f, PSNR = %.3f\n",
math.sqrt(model2_mse / #x), model2_psnr / #x))
end
fp:close()
end
io.stdout:write("\n")
end
local function load_data(test_dir)
@ -216,8 +244,11 @@ local function load_data(test_dir)
local name = path.basename(files[i])
local e = path.extension(name)
local base = name:sub(0, name:len() - e:len())
table.insert(test_x, {image = iproc.crop_mod4(image_loader.load_float(files[i])),
basename = base})
local img = image_loader.load_float(files[i])
if img then
table.insert(test_x, {image = iproc.crop_mod4(img),
basename = base})
end
if opt.show_progress then
xlua.progress(i, #files)
end