tensorflow / tfjs

A WebGL accelerated JavaScript library for training and deploying ML models.
https://js.tensorflow.org
Apache License 2.0
18.39k stars 1.92k forks source link

The Python converter (h5 to tfjs) does not handle NASNetLarge from Keras #3806

Closed ludgerh closed 4 years ago

ludgerh commented 4 years ago

TensorFlow.js version

Error occurs in Tensorflow 2.2. Tested also 2.3: Same...

Browser version

No Browser

Describe the problem or feature request

When I run the code below I get the following error: Traceback (most recent call last): File "convtest.py", line 25, in <module> tfjs.converters.save_keras_model(model, 'test/tfjs/') File "/home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflowjs/converters/keras_h5_conversion.py", line 340, in save_keras_model h5_merged_saved_model_to_tfjs_format(temp_h5_path)) File "/home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflowjs/converters/keras_h5_conversion.py", line 201, in h5_merged_saved_model_to_tfjs_format group = _convert_h5_group(layer) File "/home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflowjs/converters/keras_h5_conversion.py", line 85, in _convert_h5_group group_out += _convert_h5_group(group[key]) File "/home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflowjs/converters/keras_h5_conversion.py", line 85, in _convert_h5_group group_out += _convert_h5_group(group[key]) File "/home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflowjs/converters/keras_h5_conversion.py", line 83, in _convert_h5_group for key in group.keys(): AttributeError: 'Dataset' object has no attribute 'keys' When I switch to InceptionV3 (see comment line), everything is OK.

Code to reproduce the bug / link to feature request

`from tensorflow.keras.models import Sequential import tensorflowjs as tfjs from tensorflow.keras.layers import Flatten, Dense from tensorflow.keras.optimizers import Adam from tensorflow.keras.metrics import AUC from tensorflow.keras.applications.nasnet import NASNetLarge from tensorflow.keras.applications.inception_v3 import InceptionV3

base_model = NASNetLarge(weights='imagenet', include_top=False, input_shape=(331, 331, 3))

base_model = InceptionV3(weights='imagenet', include_top=False, input_shape=(200, 200, 3))

base_model.trainable = False model = Sequential() model.add(base_model)

model.add(Flatten())

model.add(Dense(128,activation="relu")) model.add(Dense(64,activation="relu")) model.add(Dense(10, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer=Adam(learning_rate=0.001), metrics=[AUC(multi_label=True, name='accuracy')])

tfjs.converters.save_keras_model(model, 'test/tfjs/')`

rthadur commented 4 years ago

@ludgerh what is model you are trying to convert ?

ludgerh commented 4 years ago

The model I try to convert is a topless NASnetLarge with some own layers in the top. I does not matter if I train it or store immediately after creation (like in the example source). The error is the same...

ludgerh commented 4 years ago

You should be able to reproduce with my source.

rthadur commented 4 years ago

@ludgerh thank you , it is not yet implemented in tfjs , this will be a future request, will you be willing to contribute ?

rthadur commented 4 years ago

cc @pyu10055

ludgerh commented 4 years ago

@ludgerh thank you , it is not yet implemented in tfjs , this will be a future request, will you be willing to contribute ?

...I would be willing to help making this work. But I got lost and confused when trying to fix the problem. Is there any additional documentation on the converters architecture and components? What exactly is not implemented? When trying a "topless" Inception3" prepared the same way ( see commented line in my source), everything worked fine...

pyu10055 commented 4 years ago

@ludgerh If you only need the model for inference, to work around, you can save the model as saved model first, then use tfjs converter to convert to graph model.

ludgerh commented 4 years ago
model.save('test/temp.tf')
os.system('tensorflowjs_converter test/temp.tf test/tfjs')

Did the trick to finish conversion for my little test program. When converting InceptionV3, the console of the conversion job looked ok:

(env) ludger@debian-laptop:~/safe/sources/python/camai$ python convtest.py
2020-08-29 14:27:16.215660: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-08-29 14:27:16.215689: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
2020-08-29 14:27:16.215718: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (debian-laptop): /proc/driver/nvidia/version does not exist
2020-08-29 14:27:16.215933: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-08-29 14:27:16.244268: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2593935000 Hz
2020-08-29 14:27:16.245352: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7f1444000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-29 14:27:16.245413: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-08-29 14:27:36.393958: W tensorflow/python/util/util.cc:329] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
WARNING:tensorflow:From /home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflow/python/ops/resource_variable_ops.py:1817: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.
2020-08-29 14:27:55.776025: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-08-29 14:27:55.776074: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
2020-08-29 14:27:55.776096: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (debian-laptop): /proc/driver/nvidia/version does not exist
2020-08-29 14:27:55.776288: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-08-29 14:27:55.800316: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2593935000 Hz
2020-08-29 14:27:55.800881: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7ff56c000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-29 14:27:55.800921: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-08-29 14:28:05.285910: I tensorflow/core/grappler/devices.cc:55] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0
2020-08-29 14:28:05.286034: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session
2020-08-29 14:28:05.376583: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:797] Optimization results for grappler item: graph_to_optimize
2020-08-29 14:28:05.376622: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   function_optimizer: Graph size after: 1677 nodes (1198), 2681 edges (2202), time = 51.005ms.
2020-08-29 14:28:05.376627: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   function_optimizer: function_optimizer did nothing. time = 1.057ms.
2020-08-29 14:28:08.429710: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:797] Optimization results for grappler item: graph_to_optimize
2020-08-29 14:28:08.429762: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   debug_stripper: debug_stripper did nothing. time = 0.473ms.
2020-08-29 14:28:08.429767: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 1293 nodes (-384), 2297 edges (-384), time = 13.414ms.
2020-08-29 14:28:08.429782: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 1285 nodes (-8), 1809 edges (-488), time = 274.65ms.
2020-08-29 14:28:08.429789: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 1109 nodes (-176), 1633 edges (-176), time = 171.569ms.
2020-08-29 14:28:08.429795: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 707 nodes (-402), 1226 edges (-407), time = 40.131ms.
2020-08-29 14:28:08.429802: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 707 nodes (0), 1226 edges (0), time = 24.08ms.
2020-08-29 14:28:08.429807: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 707 nodes (0), 1226 edges (0), time = 78.614ms.
2020-08-29 14:28:08.429814: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 707 nodes (0), 1226 edges (0), time = 100.846ms.
2020-08-29 14:28:08.429822: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 707 nodes (0), 1226 edges (0), time = 24.05ms.
2020-08-29 14:28:08.429829: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   debug_stripper: debug_stripper did nothing. time = 1.255ms.
2020-08-29 14:28:08.429836: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 707 nodes (0), 1226 edges (0), time = 20.243ms.
2020-08-29 14:28:08.429843: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 707 nodes (0), 1226 edges (0), time = 77.664ms.
2020-08-29 14:28:08.429851: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 707 nodes (0), 1226 edges (0), time = 102.927ms.
2020-08-29 14:28:08.429859: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 707 nodes (0), 1226 edges (0), time = 24.581ms.
2020-08-29 14:28:08.429867: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 707 nodes (0), 1226 edges (0), time = 22.22ms.
2020-08-29 14:28:08.429875: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 707 nodes (0), 1226 edges (0), time = 77.756ms.
2020-08-29 14:28:08.429884: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 707 nodes (0), 1226 edges (0), time = 104.021ms.
2020-08-29 14:28:08.429892: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 707 nodes (0), 1226 edges (0), time = 24.159ms.
2020-08-29 14:29:06.019088: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:797] Optimization results for grappler item: graph_to_optimize
2020-08-29 14:29:06.019133: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   remapper: Graph size after: 613 nodes (-188), 662 edges (-188), time = 12.484ms.
2020-08-29 14:29:06.019139: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 320 nodes (-293), 369 edges (-293), time = 61.091ms.
2020-08-29 14:29:06.019145: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 320 nodes (0), 369 edges (0), time = 82.876ms.
2020-08-29 14:29:06.019154: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 320 nodes (0), 369 edges (0), time = 5.334ms.
2020-08-29 14:29:06.019161: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   remapper: Graph size after: 320 nodes (0), 369 edges (0), time = 6.926ms.
2020-08-29 14:29:06.019168: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 320 nodes (0), 369 edges (0), time = 29.478ms.
2020-08-29 14:29:06.019173: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 320 nodes (0), 369 edges (0), time = 85.007ms.
2020-08-29 14:29:06.019180: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 320 nodes (0), 369 edges (0), time = 5.438ms.
Writing weight file test/tfjs/model.json...
ludgerh commented 4 years ago

When converting NASNetLarge, I get a couple of warnings, but still a tfjs-model is written:

(env) ludger@debian-laptop:~/safe/sources/python/camai$ python convtest.py
2020-08-29 15:02:22.624663: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-08-29 15:02:22.624699: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
2020-08-29 15:02:22.624714: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (debian-laptop): /proc/driver/nvidia/version does not exist
2020-08-29 15:02:22.624889: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-08-29 15:02:22.648339: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2593935000 Hz
2020-08-29 15:02:22.648742: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7fc1e8000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-29 15:02:22.648773: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-08-29 15:03:25.145381: W tensorflow/python/util/util.cc:329] Sets are not currently considered sequences, but this may change in the future, so consider avoiding using them.
WARNING:tensorflow:From /home/ludger/safe/sources/python/camai/env/lib/python3.7/site-packages/tensorflow/python/ops/resource_variable_ops.py:1817: calling BaseResourceVariable.__init__ (from tensorflow.python.ops.resource_variable_ops) with constraint is deprecated and will be removed in a future version.
Instructions for updating:
If using Keras pass *_constraint arguments to layers.
2020-08-29 15:04:23.915676: W tensorflow/stream_executor/platform/default/dso_loader.cc:55] Could not load dynamic library 'libcuda.so.1'; dlerror: libcuda.so.1: cannot open shared object file: No such file or directory
2020-08-29 15:04:23.915713: E tensorflow/stream_executor/cuda/cuda_driver.cc:313] failed call to cuInit: UNKNOWN ERROR (303)
2020-08-29 15:04:23.915728: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (debian-laptop): /proc/driver/nvidia/version does not exist
2020-08-29 15:04:23.915891: I tensorflow/core/platform/cpu_feature_guard.cc:143] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2020-08-29 15:04:23.940309: I tensorflow/core/platform/profile_utils/cpu_utils.cc:102] CPU Frequency: 2593935000 Hz
2020-08-29 15:04:23.940733: I tensorflow/compiler/xla/service/service.cc:168] XLA service 0x7ff588000b20 initialized for platform Host (this does not guarantee that XLA will be used). Devices:
2020-08-29 15:04:23.940762: I tensorflow/compiler/xla/service/service.cc:176]   StreamExecutor device (0): Host, Default Version
2020-08-29 15:04:55.810507: I tensorflow/core/grappler/devices.cc:55] Number of eligible GPUs (core count >= 8, compute capability >= 0.0): 0
2020-08-29 15:04:55.810642: I tensorflow/core/grappler/clusters/single_machine.cc:356] Starting new session
2020-08-29 15:04:56.155112: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:797] Optimization results for grappler item: graph_to_optimize
2020-08-29 15:04:56.155165: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   function_optimizer: Graph size after: 6428 nodes (4875), 9808 edges (8255), time = 209.947ms.
2020-08-29 15:04:56.155170: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   function_optimizer: function_optimizer did nothing. time = 4.619ms.
2020-08-29 15:05:16.235364: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:797] Optimization results for grappler item: graph_to_optimize
2020-08-29 15:05:16.235418: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   debug_stripper: debug_stripper did nothing. time = 1.429ms.
2020-08-29 15:05:16.235423: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 4436 nodes (-1552), 7816 edges (-1552), time = 59.494ms.
2020-08-29 15:05:16.235428: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 4436 nodes (0), 6266 edges (-1550), time = 2430.16ms.
2020-08-29 15:05:16.235435: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 4310 nodes (-126), 6154 edges (-112), time = 1128.97205ms.
2020-08-29 15:05:16.235442: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 2733 nodes (-1577), 4554 edges (-1600), time = 442.621ms.
2020-08-29 15:05:16.235449: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 2733 nodes (0), 4554 edges (0), time = 212.307ms.
2020-08-29 15:05:16.235455: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 2733 nodes (0), 4554 edges (0), time = 877.968ms.
2020-08-29 15:05:16.235461: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 2733 nodes (0), 4554 edges (0), time = 830.974ms.
2020-08-29 15:05:16.235469: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 2733 nodes (0), 4554 edges (0), time = 253.371ms.
2020-08-29 15:05:16.235476: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   debug_stripper: debug_stripper did nothing. time = 13.761ms.
2020-08-29 15:05:16.235483: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 2733 nodes (0), 4554 edges (0), time = 173.435ms.
2020-08-29 15:05:16.235490: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 2733 nodes (0), 4554 edges (0), time = 894.316ms.
2020-08-29 15:05:16.235497: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 2733 nodes (0), 4554 edges (0), time = 791.948ms.
2020-08-29 15:05:16.235505: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 2733 nodes (0), 4554 edges (0), time = 286.383ms.
2020-08-29 15:05:16.235512: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   model_pruner: Graph size after: 2733 nodes (0), 4554 edges (0), time = 152.532ms.
2020-08-29 15:05:16.235520: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 2733 nodes (0), 4554 edges (0), time = 788.56ms.
2020-08-29 15:05:16.235527: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 2733 nodes (0), 4554 edges (0), time = 861.554ms.
2020-08-29 15:05:16.235535: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 2733 nodes (0), 4554 edges (0), time = 225.5ms.
WARNING:tensorflow:Didn't find expected Conv2D or DepthwiseConv2dNative input to 'StatefulPartitionedCall/sequential/NASNet/adjust_bn_stem_2/FusedBatchNormV3'
WARNING:tensorflow:Didn't find expected Conv2D or DepthwiseConv2dNative input to 'StatefulPartitionedCall/sequential/NASNet/adjust_bn_0/FusedBatchNormV3'
WARNING:tensorflow:Didn't find expected Conv2D or DepthwiseConv2dNative input to 'StatefulPartitionedCall/sequential/NASNet/adjust_bn_7/FusedBatchNormV3'
WARNING:tensorflow:Didn't find expected Conv2D or DepthwiseConv2dNative input to 'StatefulPartitionedCall/sequential/NASNet/adjust_bn_13/FusedBatchNormV3'
2020-08-29 15:09:04.600611: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:797] Optimization results for grappler item: graph_to_optimize
2020-08-29 15:09:04.600664: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   remapper: Graph size after: 2648 nodes (-345), 3173 edges (-341), time = 607.181ms.
2020-08-29 15:09:04.600669: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 1576 nodes (-1072), 2089 edges (-1084), time = 1215.27795ms.
2020-08-29 15:09:04.600674: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 1576 nodes (0), 2089 edges (0), time = 654.854ms.
2020-08-29 15:09:04.600687: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 1576 nodes (0), 2089 edges (0), time = 139.67ms.
2020-08-29 15:09:04.600698: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   remapper: Graph size after: 1576 nodes (0), 2089 edges (0), time = 248.237ms.
2020-08-29 15:09:04.600706: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   constant_folding: Graph size after: 1576 nodes (0), 2089 edges (0), time = 646.378ms.
2020-08-29 15:09:04.600713: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   arithmetic_optimizer: Graph size after: 1576 nodes (0), 2089 edges (0), time = 653.674ms.
2020-08-29 15:09:04.600719: I tensorflow/core/grappler/optimizers/meta_optimizer.cc:799]   dependency_optimizer: Graph size after: 1576 nodes (0), 2089 edges (0), time = 138.484ms.
Writing weight file test/tfjs/model.json...
ludgerh commented 4 years ago

But none of the tfjs-models I generate with this procedure works when being used.

<script src="https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@2.0.0/dist/tf.min.js"></script>
tf.loadLayersModel('<?php echo($modelurl) ?>/c_model_'+modelforpredictions+'/mode/tfjs/model.json')
.catch(err => {console.log(err);});

...results in very unspecific errors:

Error: "[object Object]"
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17
    tfjs 2.0.0/dist/tf.min.js:17

I have no idea, what to try next.

google-ml-butler[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 dyas if no further activity occurs. Thank you.

google-ml-butler[bot] commented 4 years ago

Closing as stale. Please @mention us if this needs more attention.