MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / get_config

Method get_config

tensorflow/python/keras/engine/network.py:868–963  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

866 return output_tensors
867
868 def get_config(self):
869 if not self._is_graph_network:
870 raise NotImplementedError
871
872 config = {
873 'name': self.name,
874 }
875 node_conversion_map = {}
876 for layer in self.layers:
877 kept_nodes = 1 if _should_skip_first_node(layer) else 0
878 for original_node_index, node in enumerate(layer._inbound_nodes):
879 node_key = _make_node_key(layer.name, original_node_index)
880 if node_key in self._network_nodes:
881 node_conversion_map[node_key] = kept_nodes
882 kept_nodes += 1
883 layer_configs = []
884 for layer in self.layers: # From the earliest layers on.
885 layer_class_name = layer.__class__.__name__
886 layer_config = layer.get_config()
887
888 filtered_inbound_nodes = []
889 for original_node_index, node in enumerate(layer._inbound_nodes):
890 node_key = _make_node_key(layer.name, original_node_index)
891 if node_key in self._network_nodes:
892 # The node is relevant to the model:
893 # add to filtered_inbound_nodes.
894 if node.arguments:
895 kwargs = _serialize_tensors(node.arguments)
896 try:
897 json.dumps(kwargs)
898 except TypeError:
899 logging.warning(
900 'Layer ' + layer.name +
901 ' was passed non-serializable keyword arguments: ' +
902 str(node.arguments) + '. They will not be included '
903 'in the serialized model (and thus will be missing '
904 'at deserialization time).')
905 kwargs = {}
906 else:
907 kwargs = {}
908 if node.inbound_layers:
909 node_data = []
910 for inbound_layer, node_id, tensor_id, _ in node.iterate_inbound():
911 node_key = _make_node_key(inbound_layer.name, node_id)
912 new_node_index = node_conversion_map.get(node_key, 0)
913 node_data.append(
914 tf_utils.ListWrapper(
915 [inbound_layer.name, new_node_index, tensor_id, kwargs]))
916 node_data = nest.pack_sequence_as(node.input_tensors, node_data)
917 if not nest.is_sequence(node_data):
918 node_data = [node_data]
919 # Convert ListWrapper to list for backwards compatible configs.
920 node_data = tf_utils.convert_inner_node_data(node_data)
921 filtered_inbound_nodes.append(node_data)
922
923 layer_configs.append({
924 'name': layer.name,
925 'class_name': layer_class_name,

Calls 7

_should_skip_first_nodeFunction · 0.85
_make_node_keyFunction · 0.85
_serialize_tensorsFunction · 0.85
iterate_inboundMethod · 0.80
rangeFunction · 0.50
getMethod · 0.45
appendMethod · 0.45