コード例 #1
0
def _convert_value(value):
    """Parse string as python literal if possible and fallback to string."""
    try:
        return restore(ast.literal_eval(value))
    except (ValueError, SyntaxError):
        if SETTINGS.COMMAND_LINE.STRICT_PARSING:
            raise
        # use as string if nothing else worked
        return value
コード例 #2
0
ファイル: arg_parser.py プロジェクト: IDSIA/sacred
def _convert_value(value):
    """Parse string as python literal if possible and fallback to string."""
    try:
        return restore(ast.literal_eval(value))
    except (ValueError, SyntaxError):
        if SETTINGS.COMMAND_LINE.STRICT_PARSING:
            raise
        # use as string if nothing else worked
        return value
コード例 #3
0
ファイル: sql_bases.py プロジェクト: yasserotiefy/sacred
 def to_json(self):
     return {
         "_id": self.run_id,
         "command": self.command,
         "start_time": self.start_time,
         "heartbeat": self.heartbeat,
         "stop_time": self.stop_time,
         "queue_time": self.queue_time,
         "status": self.status,
         "result": self.result,
         "meta": {"comment": self.comment, "priority": self.priority},
         "resources": [r.to_json() for r in self.resources],
         "artifacts": [a.to_json() for a in self.artifacts],
         "host": self.host.to_json(),
         "experiment": self.experiment.to_json(),
         "config": restore(json.loads(self.config)),
         "captured_out": self.captured_out,
         "fail_trace": self.fail_trace,
     }
コード例 #4
0
ファイル: sql.py プロジェクト: phkung/sacred
 def to_json(self):
     return {
         '_id': self.run_id,
         'command': self.command,
         'start_time': self.start_time,
         'heartbeat': self.heartbeat,
         'stop_time': self.stop_time,
         'queue_time': self.queue_time,
         'status': self.status,
         'result': self.result,
         'meta': {
             'comment': self.comment,
             'priority': self.priority},
         'resources': [r.to_json() for r in self.resources],
         'artifacts': [a.to_json() for a in self.artifacts],
         'host': self.host.to_json(),
         'experiment': self.experiment.to_json(),
         'config': restore(json.loads(self.config)),
         'captured_out': self.captured_out,
         'fail_trace': self.fail_trace,
     }
コード例 #5
0
ファイル: sql.py プロジェクト: IDSIA/sacred
 def to_json(self):
     return {
         '_id': self.run_id,
         'command': self.command,
         'start_time': self.start_time,
         'heartbeat': self.heartbeat,
         'stop_time': self.stop_time,
         'queue_time': self.queue_time,
         'status': self.status,
         'result': self.result,
         'meta': {
             'comment': self.comment,
             'priority': self.priority},
         'resources': [r.to_json() for r in self.resources],
         'artifacts': [a.to_json() for a in self.artifacts],
         'host': self.host.to_json(),
         'experiment': self.experiment.to_json(),
         'config': restore(json.loads(self.config)),
         'captured_out': self.captured_out,
         'fail_trace': self.fail_trace,
     }
コード例 #6
0
def test_serialize_pandas_dataframes():
    pd, np = opt.pandas, opt.np
    df = pd.DataFrame(np.arange(20).reshape(5, 4), columns=list("ABCD"))
    b = restore(flatten(df))
    assert np.all(df == b)
    assert np.all(df.dtypes == b.dtypes)
コード例 #7
0
def test_serialize_tuples():
    t = (1, "two")
    assert restore(flatten(t)) == t
    assert isinstance(restore(flatten(t)), tuple)
コード例 #8
0
def test_serialize_numpy_arrays():
    a = opt.np.array([[1, 2, 3], [4, 5, 6]], dtype=opt.np.float32)
    b = restore(flatten(a))
    assert opt.np.all(b == a)
    assert b.dtype == a.dtype
    assert b.shape == a.shape
コード例 #9
0
def test_serialize_non_str_keys():
    d = {1: "one", 2: "two"}
    assert restore(flatten(d)) == d
コード例 #10
0
from sacred.serializer import flatten, restore

__all__ = ('load_config_file', 'save_config_file')


class Handler(object):
    def __init__(self, load, dump, mode):
        self.load = load
        self.dump = dump
        self.mode = mode


HANDLER_BY_EXT = {
    '.json':
    Handler(
        lambda fp: restore(json.load(fp)),
        lambda obj, fp: json.dump(flatten(obj), fp, sort_keys=True, indent=2),
        ''),
    '.pickle':
    Handler(pickle.load, pickle.dump, 'b'),
}

if opt.has_yaml:
    HANDLER_BY_EXT['.yaml'] = Handler(opt.yaml.load, opt.yaml.dump, '')
    HANDLER_BY_EXT['.yml'] = Handler(opt.yaml.load, opt.yaml.dump, '')


def get_handler(filename):
    _, extension = os.path.splitext(filename)
    return HANDLER_BY_EXT[extension]
コード例 #11
0
ファイル: util_funcs.py プロジェクト: Saqibm128/eeg-tasks
def get_sacred_results(params):
    return restore(get_sacred_runs().find_one(params)['result'])
コード例 #12
0
ファイル: config_files.py プロジェクト: wjp/sacred
from sacred.serializer import flatten, restore

__sacred__ = True  # marks files that should be filtered from stack traces

__all__ = ('load_config_file', 'save_config_file')


class Handler(object):
    def __init__(self, load, dump, mode):
        self.load = load
        self.dump = dump
        self.mode = mode


HANDLER_BY_EXT = {
    '.json': Handler(lambda fp: restore(json.load(fp)),
                     lambda obj, fp: json.dump(flatten(obj), fp,
                                               sort_keys=True, indent=2), ''),
    '.pickle': Handler(pickle.load, pickle.dump, 'b'),
}


if opt.has_yaml:
    HANDLER_BY_EXT['.yaml'] = Handler(opt.yaml.load, opt.yaml.dump, '')


def get_handler(filename):
    _, extension = os.path.splitext(filename)
    return HANDLER_BY_EXT[extension]

コード例 #13
0
ファイル: test_serializer.py プロジェクト: IDSIA/sacred
def test_serialize_pandas_dataframes():
    pd, np = opt.pandas, opt.np
    df = pd.DataFrame(np.arange(20).reshape(5, 4), columns=list('ABCD'))
    b = restore(flatten(df))
    assert np.all(df == b)
    assert np.all(df.dtypes == b.dtypes)
コード例 #14
0
ファイル: test_serializer.py プロジェクト: IDSIA/sacred
def test_serialize_tuples():
    t = (1, 'two')
    assert restore(flatten(t)) == t
    assert isinstance(restore(flatten(t)), tuple)
コード例 #15
0
ファイル: test_serializer.py プロジェクト: IDSIA/sacred
def test_serialize_numpy_arrays():
    a = opt.np.array([[1, 2, 3], [4, 5, 6]], dtype=opt.np.float32)
    b = restore(flatten(a))
    assert opt.np.all(b == a)
    assert b.dtype == a.dtype
    assert b.shape == a.shape
コード例 #16
0
ファイル: test_serializer.py プロジェクト: IDSIA/sacred
def test_serialize_non_str_keys():
    d = {1: "one", 2: "two"}
    assert restore(flatten(d)) == d