Example #1
0
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
Example #2
0
    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
Example #3
0
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

Example #4
0
    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