diff options
author | Sergey Zagoruyko <zagoruyko2@gmail.com> | 2016-02-18 17:18:55 +0300 |
---|---|---|
committer | Sergey Zagoruyko <zagoruyko2@gmail.com> | 2016-02-18 17:18:55 +0300 |
commit | f14d91cd23c0b1d1d9c555021d5ae7dd6d7c11ab (patch) | |
tree | 8e7d560284230fd3ab61f785dd55c381b5ab4c4b | |
parent | 3c1d3c9aaa4f7c0c2ad84ae54a154eee596019c0 (diff) |
envparams
-rw-r--r-- | init.lua | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -720,4 +720,34 @@ function string.tosymbol(str) end end + +-------------------------------------------------------------------------------- +-- parses arguments passed as ENV variables +-- example: +-- learningRate=1e-3 nesterov=false th train.lua +-- opt = xlua.envparams{learningRate=1e-2, nesterov=true} +-------------------------------------------------------------------------------- +function xlua.envparams(default) + local params = {} + for k, v in pairs(default) do + params[k] = v + if os.getenv(k) ~= nil then + local v_new = os.getenv(k) + if type(v) == "number" then + v_new = tonumber(v_new) + end + if type(v) == "boolean" then + if v_new == "false" or v_new == "False" then + v_new = false + elseif v_new == "true" or v_new == "True" then + v_new = true + end + end + assert(v_new ~= nil) + params[k] = v_new + end + end + return params +end + return xlua |