leap-model-parser 0.1.257.dev0__tar.gz → 0.1.257.dev2__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.
Files changed (23) hide show
  1. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/PKG-INFO +1 -1
  2. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/leap_graph_editor.py +10 -0
  3. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/pyproject.toml +1 -1
  4. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/LICENSE +0 -0
  5. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/README.md +0 -0
  6. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/__init__.py +0 -0
  7. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/contract/__init__.py +0 -0
  8. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/contract/graph.py +0 -0
  9. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/contract/importmodelresponse.py +0 -0
  10. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/contract/nodedata.py +0 -0
  11. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/contract/ui_components.json +0 -0
  12. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/keras_json_model_import.py +0 -0
  13. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/model_parser.py +0 -0
  14. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/__init__.py +0 -0
  15. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/layerpedia/__init__.py +0 -0
  16. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/layerpedia/layerpedia.py +0 -0
  17. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/tlinspection/__init__.py +0 -0
  18. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/tlinspection/leapinspection.py +0 -0
  19. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/uicomponents/__init__.py +0 -0
  20. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/uicomponents/generatenodedata.py +0 -0
  21. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/uicomponents/tensorflowinscpection.py +0 -0
  22. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/leap_model_parser/utils/uicomponents/ui_components.json +0 -0
  23. {leap_model_parser-0.1.257.dev0 → leap_model_parser-0.1.257.dev2}/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.257.dev0
3
+ Version: 0.1.257.dev2
4
4
  Summary:
5
5
  Home-page: https://github.com/tensorleap/leap-model-parser
6
6
  License: MIT
@@ -89,6 +89,7 @@ class LeapGraphEditor:
89
89
  return None
90
90
 
91
91
  def _replace_prediction_node_name_with_correct_name(self, connections: List[NodeConnection]) -> List[NodeConnection]:
92
+ index_by_resolved_name: Dict[str, int] = {}
92
93
  for connection in connections:
93
94
  if connection.node_inputs is None:
94
95
  continue
@@ -96,6 +97,15 @@ class LeapGraphEditor:
96
97
  if 'Prediction' in input_node.type.value:
97
98
  prediction_index = int(input_node.type.value.replace('Prediction', ''))
98
99
  origin_name = self.keras_model.outputs[prediction_index].node.layer.name
100
+ known_index = index_by_resolved_name.setdefault(origin_name, prediction_index)
101
+ # The same tensor returned twice binds correctly; two tensors of one layer
102
+ # (a shared layer, a multi-output op) cannot be told apart by layer name.
103
+ if (self.keras_model.outputs[known_index] is not
104
+ self.keras_model.outputs[prediction_index]):
105
+ raise Exception(
106
+ f"Prediction{known_index} and Prediction{prediction_index} both resolve to "
107
+ f"layer '{origin_name}', so their bindings are ambiguous; give the model "
108
+ f"outputs distinct layers")
99
109
  input_node.name = origin_name
100
110
 
101
111
  return connections
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "leap-model-parser"
3
- version = "0.1.257.dev0"
3
+ version = "0.1.257.dev2"
4
4
  description = ""
5
5
  authors = ["idan <idan.yogev@tensorleap.ai>"]
6
6
  license = "MIT"