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
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])
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
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
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