leap-model-parser 0.1.244.dev5__tar.gz → 0.1.245.dev0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/PKG-INFO +2 -2
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/keras_json_model_import.py +19 -10
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/pyproject.toml +2 -2
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/LICENSE +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/README.md +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/__init__.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/contract/__init__.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/contract/graph.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/contract/importmodelresponse.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/contract/nodedata.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/contract/ui_components.json +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/leap_graph_editor.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/model_parser.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/__init__.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/layerpedia/__init__.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/layerpedia/layerpedia.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/tlinspection/__init__.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/tlinspection/leapinspection.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/uicomponents/__init__.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/uicomponents/generatenodedata.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/uicomponents/tensorflowinscpection.py +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/uicomponents/ui_components.json +0 -0
- {leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/utils/uicomponents/ui_components_config.yaml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: leap-model-parser
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.245.dev0
|
|
4
4
|
Summary:
|
|
5
5
|
Home-page: https://github.com/tensorleap/leap-model-parser
|
|
6
6
|
License: MIT
|
|
@@ -17,7 +17,7 @@ Requires-Dist: keras-data-format-converter (==0.1.24)
|
|
|
17
17
|
Requires-Dist: leap-model-rebuilder (==0.1.7)
|
|
18
18
|
Requires-Dist: numpy (>=1.22.3,<2.0.0)
|
|
19
19
|
Requires-Dist: onnx (==1.13.0)
|
|
20
|
-
Requires-Dist: onnx2kerastl (==0.0.188.
|
|
20
|
+
Requires-Dist: onnx2kerastl (==0.0.188.dev)
|
|
21
21
|
Requires-Dist: tensorflow (==2.12.0) ; platform_machine == "x86_64"
|
|
22
22
|
Requires-Dist: tensorflow-io-gcs-filesystem (==0.34.0)
|
|
23
23
|
Requires-Dist: tensorflow-macos (==2.12.0) ; platform_machine == "arm64"
|
|
@@ -93,11 +93,12 @@ class KerasJsonModelImport:
|
|
|
93
93
|
|
|
94
94
|
self.visited_connections.add(connection_name)
|
|
95
95
|
self.attach(input_layer, input_node_name,
|
|
96
|
-
current_node_name, input_index)
|
|
96
|
+
current_node_name, input_index, len(inbound_layers))
|
|
97
97
|
self.generate_graph_recursive(current_layer=input_layer, instance_index=input_node_instance_index,
|
|
98
98
|
layer_name_to_inbound_nodes=layer_name_to_inbound_nodes)
|
|
99
99
|
|
|
100
|
-
def attach(self, input_layer: Dict, node_input_layer_name: str, node_output_layer_name: str, input_index: int
|
|
100
|
+
def attach(self, input_layer: Dict, node_input_layer_name: str, node_output_layer_name: str, input_index: int,
|
|
101
|
+
num_inbound: int = None):
|
|
101
102
|
node_output_layer = self.nodes_cache[node_output_layer_name]
|
|
102
103
|
if input_layer['class_name'] == 'InputLayer':
|
|
103
104
|
if node_output_layer.name == 'Lambda':
|
|
@@ -108,7 +109,7 @@ class KerasJsonModelImport:
|
|
|
108
109
|
node_output_key = self.get_connection_key(
|
|
109
110
|
input_layer, node_input_layer, 'outputs', input_index)
|
|
110
111
|
node_input_key = self.get_connection_key(
|
|
111
|
-
input_layer, node_output_layer, 'inputs', input_index)
|
|
112
|
+
input_layer, node_output_layer, 'inputs', input_index, num_inbound)
|
|
112
113
|
if node_output_key is None or node_input_key is None:
|
|
113
114
|
return
|
|
114
115
|
|
|
@@ -285,7 +286,8 @@ class KerasJsonModelImport:
|
|
|
285
286
|
"output_name": "Action"
|
|
286
287
|
})
|
|
287
288
|
|
|
288
|
-
def get_connection_key(self, node_input_layer, node: Node, direction: str, index: int
|
|
289
|
+
def get_connection_key(self, node_input_layer, node: Node, direction: str, index: int,
|
|
290
|
+
num_connections: int = None) -> Optional[str]:
|
|
289
291
|
layer_metadata = self.ui_components.get(node.name)
|
|
290
292
|
if _is_represntaion_block_node(node) or layer_metadata is None:
|
|
291
293
|
if direction == 'inputs':
|
|
@@ -295,17 +297,24 @@ class KerasJsonModelImport:
|
|
|
295
297
|
elif _is_input_node(node):
|
|
296
298
|
connection_format = f"{node.id}-{node_input_layer['name']}"
|
|
297
299
|
else:
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
except IndexError:
|
|
301
|
-
connection_format = layer_metadata[f"{direction}_data"][direction][0]['name']
|
|
302
|
-
if connection_format.count('${id}') > 0:
|
|
300
|
+
metadata_slots = layer_metadata[f"{direction}_data"][direction]
|
|
301
|
+
if num_connections is not None and num_connections > len(metadata_slots) and '${id}' not in metadata_slots[0].get('name', ''):
|
|
303
302
|
connection_format = f"{node.id}-{index}"
|
|
304
303
|
if 'custom_input_keys' not in node.data:
|
|
305
304
|
node.data['custom_input_keys'] = []
|
|
306
305
|
node.data['custom_input_keys'].append(connection_format)
|
|
307
306
|
else:
|
|
308
|
-
|
|
307
|
+
try:
|
|
308
|
+
connection_format = metadata_slots[index]['name']
|
|
309
|
+
except IndexError:
|
|
310
|
+
connection_format = metadata_slots[0]['name']
|
|
311
|
+
if connection_format.count('${id}') > 0:
|
|
312
|
+
connection_format = f"{node.id}-{index}"
|
|
313
|
+
if 'custom_input_keys' not in node.data:
|
|
314
|
+
node.data['custom_input_keys'] = []
|
|
315
|
+
node.data['custom_input_keys'].append(connection_format)
|
|
316
|
+
else:
|
|
317
|
+
connection_format = f"{node.id}-{connection_format}"
|
|
309
318
|
return connection_format
|
|
310
319
|
|
|
311
320
|
def handle_cudnn(self, layer: Dict[str, Any]) -> Dict[str, Any]:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "leap-model-parser"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.245.dev"
|
|
4
4
|
description = ""
|
|
5
5
|
authors = ["idan <idan.yogev@tensorleap.ai>"]
|
|
6
6
|
license = "MIT"
|
|
@@ -18,7 +18,7 @@ tensorflow = {version = "2.12.0", markers = "platform_machine == 'x86_64'"}
|
|
|
18
18
|
tensorflow-macos = {version = "2.12.0", markers = "platform_machine == 'arm64'"}
|
|
19
19
|
numpy = "^1.22.3"
|
|
20
20
|
onnx = "1.13.0"
|
|
21
|
-
onnx2kerastl = "0.0.188.
|
|
21
|
+
onnx2kerastl = "0.0.188.dev"
|
|
22
22
|
keras-data-format-converter = "0.1.24"
|
|
23
23
|
leap-model-rebuilder = "0.1.7"
|
|
24
24
|
tensorflow-io-gcs-filesystem = "0.34.0"
|
|
File without changes
|
|
File without changes
|
{leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{leap_model_parser-0.1.244.dev5 → leap_model_parser-0.1.245.dev0}/leap_model_parser/model_parser.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|