storage.py 980 字节
Newer Older
S
superjom 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
__all__ = [
    'StorageReader',
    'StorageWriter',
]
import core

dtypes = ("float", "double", "int32", "int64")


class StorageReader(object):

    def __init__(self, mode, dir):
        self.reader = core.Reader(mode, dir)

    def scalar(self, tag, type='float'):
        type2scalar = {
            'float': self.reader.get_scalar_float,
            'double': self.reader.get_scalar_double,
            'int': self.reader.get_scalar_int,
        }
        return type2scalar[type](tag)


class StorageWriter(object):

S
superjom 已提交
26 27 28 29 30 31
    def __init__(self, dir, sync_cycle):
        self.writer = core.Writer(dir, sync_cycle)

    def as_mode(self, mode):
        self.writer = self.writer.as_mode(mode)
        return self
S
superjom 已提交
32 33 34 35 36 37 38 39

    def scalar(self, tag, type='float'):
        type2scalar = {
            'float': self.writer.new_scalar_float,
            'double': self.writer.new_scalar_double,
            'int': self.writer.new_scalar_int,
        }
        return type2scalar[type](tag)