import lib.env as env from lib.util import read_json from lib.util import make_dir from lib.util import parse_attrs from lib.util import add_coloring_to_emit_ansi from lib.evolve_state import State from run_sim import DnnSim logFormatter = logging.Formatter( "%(asctime)s [%(levelname)s] %(message)-100s") rootLogger = logging.getLogger() rootLogger.setLevel(logging.DEBUG) consoleHandler = logging.StreamHandler(sys.stderr) consoleHandler.emit = add_coloring_to_emit_ansi(consoleHandler.emit) consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler) class GlobalConfig(object): Epochs = 1 AddOptions = [] Jobs = 8 BadValue = 1.0 SimJobs = 1 ConstFilename = DnnSim.CONST_JSON VarSpecsFile = pj(os.path.realpath(os.path.dirname(__file__)), "var_specs.json") Mock = False NumberOfCalcutationsUpperBound = 50000
def __init__(self, **kwargs): self.current_epoch = 1 self.old_dir = self.dget(kwargs, "old_dir", False) self.const_as_string = self.dget(kwargs, "const_as_string", False) self.const = self.dget(kwargs, "const", self.CONST_JSON) self.runs_dir = self.dget(kwargs, "runs_dir", self.RUNS_DIR) self.inspection = self.dget(kwargs, "inspection", True) self.working_dir = self.dget(kwargs, "working_dir", None) self.evaluation = self.dget(kwargs, "evaluation", False) self.slave = self.dget(kwargs, "slave", False) self.prepare_data = self.dget(kwargs, "prepare_data", False) self.evaluation_data = self.dget(kwargs, "evaluation_data", None) self.no_learning = self.dget(kwargs, "no_learning", False) logFormatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)-100s") rootLogger = logging.getLogger() rootLogger.setLevel(logging.DEBUG) if not self.slave: consoleHandler = logging.StreamHandler(sys.stdout) consoleHandler.emit = add_coloring_to_emit_ansi(consoleHandler.emit) consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler) if self.working_dir is None: self.working_dir = self.get_wd() else: self.working_dir = os.path.realpath(os.path.expanduser(self.working_dir)) ask = False if not os.path.exists(self.working_dir): os.makedirs(self.working_dir) else: ask = True if not self.slave: last = os.path.join(self.runs_dir, "..", "last") if os.path.exists(last) or os.path.islink(last): os.remove(last) os.symlink(self.working_dir, last) self.log_file = pj(self.working_dir, DnnSim.LOG_FILE_BASE) fileHandler = logging.FileHandler(self.log_file, mode='w') fileHandler.setFormatter(logFormatter) rootLogger.addHandler(fileHandler) if ask: self.continue_in_wd() self.dnn_sim_bin = self.dget(kwargs, "dnn_sim_bin", self.DNN_SIM_BIN) self.add_options = self.dget(kwargs, "add_options", {}) self.stat = self.dget(kwargs, "stat", False) self.epochs = self.dget(kwargs, "epochs", 1) self.jobs = self.dget(kwargs, "jobs", multiprocessing.cpu_count()) self.insp_script = self.dget(kwargs, "insp_script", self.INSP_SCRIPT) self.T_max = self.dget(kwargs, "T_max", None) for k, v in self.add_options.items(): if os.path.exists(v): shutil.copy(v, os.path.join(self.working_dir, k) + ".pb") wd_const = pj(self.working_dir, os.path.basename(self.const)) if wd_const != self.const or not os.path.exists(wd_const): shutil.copy(self.const, self.working_dir) self.const = wd_const
import lib.env as env from lib.util import read_json from lib.util import make_dir from lib.util import parse_attrs from lib.util import add_coloring_to_emit_ansi from lib.evolve_state import State from run_sim import DnnSim logFormatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)-100s") rootLogger = logging.getLogger() rootLogger.setLevel(logging.DEBUG) consoleHandler = logging.StreamHandler(sys.stderr) consoleHandler.emit = add_coloring_to_emit_ansi(consoleHandler.emit) consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler) class GlobalConfig(object): Epochs = 1 AddOptions = [] Jobs = 8 BadValue = 1.0 SimJobs = 1 ConstFilename = DnnSim.CONST_JSON VarSpecsFile = pj(os.path.realpath(os.path.dirname(__file__)), "var_specs.json") Mock = False NumberOfCalcutationsUpperBound = 50000
def __init__(self, **kwargs): self.current_epoch = 1 self.old_dir = self.dget(kwargs, "old_dir", False) self.const_as_string = self.dget(kwargs, "const_as_string", False) self.const = self.dget(kwargs, "const", self.CONST_JSON) self.runs_dir = self.dget(kwargs, "runs_dir", self.RUNS_DIR) self.inspection = self.dget(kwargs, "inspection", True) self.working_dir = self.dget(kwargs, "working_dir", None) self.evaluation = self.dget(kwargs, "evaluation", False) self.slave = self.dget(kwargs, "slave", False) self.prepare_data = self.dget(kwargs, "prepare_data", False) self.evaluation_data = self.dget(kwargs, "evaluation_data", None) self.no_learning = self.dget(kwargs, "no_learning", False) logFormatter = logging.Formatter( "%(asctime)s [%(levelname)s] %(message)-100s") rootLogger = logging.getLogger() rootLogger.setLevel(logging.DEBUG) if not self.slave: consoleHandler = logging.StreamHandler(sys.stdout) consoleHandler.emit = add_coloring_to_emit_ansi( consoleHandler.emit) consoleHandler.setFormatter(logFormatter) rootLogger.addHandler(consoleHandler) if self.working_dir is None: self.working_dir = self.get_wd() else: self.working_dir = os.path.realpath( os.path.expanduser(self.working_dir)) ask = False if not os.path.exists(self.working_dir): os.makedirs(self.working_dir) else: ask = True if not self.slave: last = os.path.join(self.runs_dir, "..", "last") if os.path.exists(last) or os.path.islink(last): os.remove(last) os.symlink(self.working_dir, last) self.log_file = pj(self.working_dir, DnnSim.LOG_FILE_BASE) fileHandler = logging.FileHandler(self.log_file, mode='w') fileHandler.setFormatter(logFormatter) rootLogger.addHandler(fileHandler) if ask: self.continue_in_wd() self.dnn_sim_bin = self.dget(kwargs, "dnn_sim_bin", self.DNN_SIM_BIN) self.add_options = self.dget(kwargs, "add_options", {}) self.stat = self.dget(kwargs, "stat", False) self.epochs = self.dget(kwargs, "epochs", 1) self.jobs = self.dget(kwargs, "jobs", multiprocessing.cpu_count()) self.insp_script = self.dget(kwargs, "insp_script", self.INSP_SCRIPT) self.T_max = self.dget(kwargs, "T_max", None) for k, v in self.add_options.items(): if os.path.exists(v): shutil.copy(v, os.path.join(self.working_dir, k) + ".pb") wd_const = pj(self.working_dir, os.path.basename(self.const)) if wd_const != self.const or not os.path.exists(wd_const): shutil.copy(self.const, self.working_dir) self.const = wd_const