| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | require 'xlua'require 'pl'-- global settingsif package.preload.settings then   return package.preload.settingsend-- default tensor typetorch.setdefaulttensortype('torch.FloatTensor')local settings = {}local cmd = torch.CmdLine()cmd:text()cmd:text("waifu2x")cmd:text("Options:")cmd:option("-seed", 11, 'fixed input seed')cmd:option("-data_dir", "./data", 'data directory')cmd:option("-test", "images/miku_small.png", 'test image file')cmd:option("-model_dir", "./models", 'model directory')cmd:option("-method", "scale", '(noise|scale|noise_scale)')cmd:option("-noise_level", 1, '(1|2)')cmd:option("-color", 'rgb', '(y|rgb)')cmd:option("-scale", 2.0, 'scale')cmd:option("-learning_rate", 0.00025, 'learning rate for adam')cmd:option("-random_half", 1, 'enable data augmentation using half resolution image')cmd:option("-crop_size", 128, 'crop size')cmd:option("-batch_size", 2, 'mini batch size')cmd:option("-epoch", 200, 'epoch')cmd:option("-core", 2, 'cpu core')local opt = cmd:parse(arg)for k, v in pairs(opt) do   settings[k] = vendif settings.method == "noise" then   settings.model_file = string.format("%s/noise%d_model.t7",				       settings.model_dir, settings.noise_level)elseif settings.method == "scale" then   settings.model_file = string.format("%s/scale%.1fx_model.t7",				       settings.model_dir, settings.scale)elseif settings.method == "noise_scale" then   settings.model_file = string.format("%s/noise%d_scale%.1fx_model.t7",				       settings.model_dir, settings.noise_level, settings.scale)else   error("unknown method: " .. settings.method)endif not (settings.color == "rgb" or settings.color == "y") then   error("color must be y or rgb")endif not (settings.scale == math.floor(settings.scale) and settings.scale % 2 == 0) then   error("scale must be mod-2")endif settings.random_half == 1 then   settings.random_half = trueelse   settings.random_half = falseendtorch.setnumthreads(settings.core)settings.images = string.format("%s/images.t7", settings.data_dir)settings.image_list = string.format("%s/image_list.txt", settings.data_dir)settings.validation_ratio = 0.1settings.validation_crops = 40local srcnn = require './srcnn'if (settings.method == "scale" or settings.method == "noise_scale") and settings.scale == 4 then   settings.create_model = srcnn.waifu4x   settings.block_offset = 13else   settings.create_model = srcnn.waifu2x   settings.block_offset = 7endreturn settings
 |