Esempio n. 1
0
File: base.py Progetto: zfxu/Dragon
    def __init__(self,
                 trainable=True,
                 name=None,
                 dtype=dtypes.float32,
                 **kwargs):
        allowed_kwargs = {'_scope', '_reuse'}
        for kwarg in kwargs:
            if kwarg not in allowed_kwargs:
                raise TypeError('Keyword argument not understood:', kwarg)

        self.trainable = trainable
        self.built = False
        self._trainable_weights = []
        self._non_trainable_weights = []
        self._updates = []
        self._losses = []
        self._reuse = kwargs.get('_reuse')
        self._graph = ops.get_default_graph()
        self._per_input_losses = {}
        self._per_input_updates = {}
        self.dtype = dtypes.as_dtype(dtype)
        self.input_spec = None

        # Determine layer name
        if name is None:
            base_name = _to_snake_case(self.__class__.__name__)
            self.name = _unique_layer_name(base_name)
        else:
            base_name = name
            self.name = name

        self._base_name = base_name

        # Determine variable scope.
        self._scope = None
Esempio n. 2
0
    def __init__(self, trainable=True, name=None, dtype=dtypes.float32, **kwargs):
        allowed_kwargs = {'_scope',
                          '_reuse'}
        for kwarg in kwargs:
            if kwarg not in allowed_kwargs:
                raise TypeError('Keyword argument not understood:', kwarg)

        self.trainable = trainable
        self.built = False
        self._trainable_weights = []
        self._non_trainable_weights = []
        self._updates = []
        self._losses = []
        self._reuse = kwargs.get('_reuse')
        self._graph = ops.get_default_graph()
        self._per_input_losses = {}
        self._per_input_updates = {}
        self.dtype = dtypes.as_dtype(dtype)
        self.input_spec = None

        # Determine layer name
        if name is None:
            base_name = _to_snake_case(self.__class__.__name__)
            self.name = _unique_layer_name(base_name)
        else:
            base_name = name
            self.name = name

        self._base_name = base_name

        # Determine variable scope.
        self._scope = None
Esempio n. 3
0
File: base.py Progetto: yyaqi/Dragon
def _unique_layer_name(name):
    global PER_GRAPH_LAYER_NAME_UIDS
    graph = ops.get_default_graph()
    if graph not in PER_GRAPH_LAYER_NAME_UIDS:
        PER_GRAPH_LAYER_NAME_UIDS[graph] = collections.defaultdict(int)
    layer_name_uids = PER_GRAPH_LAYER_NAME_UIDS[graph]
    layer_name_uids[name] += 1
    return name + '_' + str(layer_name_uids[name])
Esempio n. 4
0
    def __init__(self, target='', graph=None, config=None):
        if graph is None:
            self._graph = ops.get_default_graph()
        else:
            self._graph = graph

        self._opened = False
        self._closed = False

        if config is not None:
            if not isinstance(config, config_pb2.ConfigProto):
                raise TypeError(
                    'Config should be a tf.ConfigProto, but got {}'.format(
                        type(config)))
            self._config = config
            self._add_shapes = config.graph_options.infer_shapes
        else:
            self._config = None
            self._add_shapes = False
Esempio n. 5
0
    def __init__(self, target='', graph=None, config=None):
        if graph is None:
            self._graph = ops.get_default_graph()
        else:
            raise NotImplementedError('Session can only use the default graph yet.')

        self._opened = False
        self._closed = False

        if config is not None:
            if not isinstance(config, config_pb2.ConfigProto):
                raise TypeError('Config should be a tf.ConfigProto, but got {}'.format(type(config)))
            self._config = config
            self._add_shapes = config.graph_options.infer_shapes
        else:
            self._config = None
            self._add_shapes = False

        self._session = None
Esempio n. 6
0
def _unique_layer_name(name):
    graph = ops.get_default_graph()
    if graph not in PER_GRAPH_LAYER_NAME_UIDS:
        PER_GRAPH_LAYER_NAME_UIDS[graph] = collections.defaultdict(int)
    layer_name_uids = PER_GRAPH_LAYER_NAME_UIDS[graph]
    layer_name_uids[name] += 1