aimodelshare 0.1.33__py3-none-any.whl → 0.1.35__py3-none-any.whl
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.
Potentially problematic release.
This version of aimodelshare might be problematic. Click here for more details.
- aimodelshare/aimsonnx.py +26 -9
- {aimodelshare-0.1.33.dist-info → aimodelshare-0.1.35.dist-info}/METADATA +1 -1
- {aimodelshare-0.1.33.dist-info → aimodelshare-0.1.35.dist-info}/RECORD +6 -6
- {aimodelshare-0.1.33.dist-info → aimodelshare-0.1.35.dist-info}/WHEEL +0 -0
- {aimodelshare-0.1.33.dist-info → aimodelshare-0.1.35.dist-info}/licenses/LICENSE +0 -0
- {aimodelshare-0.1.33.dist-info → aimodelshare-0.1.35.dist-info}/top_level.txt +0 -0
aimodelshare/aimsonnx.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# data wrangling
|
|
2
2
|
import pandas as pd
|
|
3
|
-
import numpy as np
|
|
3
|
+
import numpy as np
|
|
4
4
|
|
|
5
5
|
# ml frameworks
|
|
6
6
|
try:
|
|
@@ -92,11 +92,14 @@ def _extract_onnx_metadata(onnx_model, framework):
|
|
|
92
92
|
# initialize metadata dict
|
|
93
93
|
metadata_onnx = {}
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
def _get_shape(dims):
|
|
96
|
+
return [d.dim_value if d.HasField("dim_value") else None for d in dims]
|
|
97
|
+
|
|
98
|
+
input_dims = graph.input[0].type.tensor_type.shape.dim
|
|
99
|
+
output_dims = graph.output[0].type.tensor_type.shape.dim
|
|
100
|
+
|
|
101
|
+
metadata_onnx["input_shape"] = _get_shape(input_dims)
|
|
102
|
+
metadata_onnx["output_shape"] = _get_shape(output_dims)
|
|
100
103
|
|
|
101
104
|
# get layers and activations NEW
|
|
102
105
|
# match layers and nodes and initalizers in sinle object
|
|
@@ -647,7 +650,12 @@ def _keras_to_onnx(model, transfer_learning=None,
|
|
|
647
650
|
metadata['model_weights'] = pickle.dumps(model.get_weights())
|
|
648
651
|
|
|
649
652
|
# Extract architecture
|
|
650
|
-
|
|
653
|
+
if not model.built: # add shape outputs if model not built
|
|
654
|
+
try:
|
|
655
|
+
model(tf.random.uniform([1] + list(input_shape[1:])))
|
|
656
|
+
except Exception:
|
|
657
|
+
pass # fallback, don't crash conversion
|
|
658
|
+
|
|
651
659
|
keras_layers = keras_unpack(model)
|
|
652
660
|
layers = []
|
|
653
661
|
layers_n_params = []
|
|
@@ -657,10 +665,19 @@ def _keras_to_onnx(model, transfer_learning=None,
|
|
|
657
665
|
for layer in keras_layers:
|
|
658
666
|
layers.append(layer.__class__.__name__)
|
|
659
667
|
layers_n_params.append(layer.count_params())
|
|
660
|
-
|
|
668
|
+
|
|
669
|
+
shape = getattr(layer, 'output_shape', None)
|
|
670
|
+
if shape is not None:
|
|
671
|
+
try:
|
|
672
|
+
shape = tuple(shape)
|
|
673
|
+
except:
|
|
674
|
+
shape = str(shape)
|
|
675
|
+
layers_shapes.append(shape)
|
|
676
|
+
|
|
661
677
|
if hasattr(layer, 'activation'):
|
|
662
678
|
act = getattr(layer.activation, '__name__', None)
|
|
663
|
-
if act:
|
|
679
|
+
if act:
|
|
680
|
+
activations.append(act)
|
|
664
681
|
|
|
665
682
|
optimizer = getattr(model.optimizer, '__class__', None)
|
|
666
683
|
loss = getattr(model.loss, '__class__', None)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aimodelshare
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.35
|
|
4
4
|
Summary: Deploy locally saved machine learning models to a live rest API and web-dashboard. Share it with the world via modelshare.org
|
|
5
5
|
Home-page: https://www.modelshare.org
|
|
6
6
|
Author: Michael Parrott
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
aimodelshare/README.md,sha256=_OMdUIeIYZnpFlKdafM1KNWaANO2nWdx0QpLE_ZC-Qs,2014
|
|
2
2
|
aimodelshare/__init__.py,sha256=CS0iFxgAic21gBcQE6NSZ-D_ElHw80_A3OWrEYo9Dks,539
|
|
3
|
-
aimodelshare/aimsonnx.py,sha256=
|
|
3
|
+
aimodelshare/aimsonnx.py,sha256=LW5uiIqF-nLIf0IivRaVa_b_PSBMmgeXF0lyPbEQCW0,67715
|
|
4
4
|
aimodelshare/api.py,sha256=jeCIMbpBllTYi-bPvCdNvI6yHaT3JYakq9fgaz10s_E,34920
|
|
5
5
|
aimodelshare/aws.py,sha256=jn99R9-N77Qac-_eYm-LaCQUPd-RnE7oVULm9rh-3RY,15232
|
|
6
6
|
aimodelshare/aws_client.py,sha256=Ce19iwf69BwpuyyJlVN8z1da3c5jf93svsTgx1OWhaA,6784
|
|
@@ -140,11 +140,11 @@ aimodelshare/sam/codepipeline_policies.txt,sha256=267HMXMnbP7qRASkmFZYSx-2HmKf5o
|
|
|
140
140
|
aimodelshare/sam/codepipeline_trust_relationship.txt,sha256=yfPYvZlN3fnaIHs7I3ENMMveigIE89mufV9pvR8EQH8,245
|
|
141
141
|
aimodelshare/sam/spark-class.txt,sha256=chyJBxDzCzlUKXzVQYTzuJ2PXCTwg8_gd1yfnI-xbRw,217
|
|
142
142
|
aimodelshare/sam/template.txt,sha256=JKSvEOZNaaLalHSx7r9psJg_6LLCb0XLAYi1-jYPu3M,1195
|
|
143
|
-
aimodelshare-0.1.
|
|
143
|
+
aimodelshare-0.1.35.dist-info/licenses/LICENSE,sha256=JXBYLriXYgTloZs-9CJPZY76dqkuDT5df_HghMnljx8,1134
|
|
144
144
|
tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
145
|
tests/test_aimsonnx.py,sha256=-GOF1_qXGQaMxHyqK0GPg7dD1meE-S7CZea4pLmBDTk,3906
|
|
146
146
|
tests/test_playground.py,sha256=vdFWPRrZNQ2poiBOoN3l7HsXB5yc3p3rrrclNYJHnaw,24574
|
|
147
|
-
aimodelshare-0.1.
|
|
148
|
-
aimodelshare-0.1.
|
|
149
|
-
aimodelshare-0.1.
|
|
150
|
-
aimodelshare-0.1.
|
|
147
|
+
aimodelshare-0.1.35.dist-info/METADATA,sha256=zNTXlZRp8nRZcB635yerfl2VBgu2hnwZXSLGAQG54Gs,2916
|
|
148
|
+
aimodelshare-0.1.35.dist-info/WHEEL,sha256=pxyMxgL8-pra_rKaQ4drOZAegBVuX-G_4nRHjjgWbmo,91
|
|
149
|
+
aimodelshare-0.1.35.dist-info/top_level.txt,sha256=2KJgeHQ0BmZuilB75J203i7W4vri6CON2kdbwk9BNpU,19
|
|
150
|
+
aimodelshare-0.1.35.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|