Error of saving json during converting openvino model to tensorflow with parameter --output_weight_and_json

112 Views Asked by At

I want convert my openvino-model to tf saved_model according to the documentation of https://github.com/PINTO0309/openvino2tensorflow repository.

But when I use command: openvino2tensorflow --model_path model.xml --output_saved_model --output_weight_and_json

I get an error:

ERROR: cannot pickle 'module' object
Traceback (most recent call last):
  File "/usr/local/bin/openvino2tensorflow", line 7156, in convert
    open(f'{model_output_path}/model_float32.json', 'w').write(model.to_json())
  File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 3086, in to_json
    model_config = self._updated_config()
  File "/usr/local/lib/python3.8/dist-packages/keras/engine/training.py", line 2954, in _updated_config
    config = self.get_config()
  File "/usr/local/lib/python3.8/dist-packages/keras/engine/functional.py", line 781, in get_config
    return copy.deepcopy(get_network_config(self, config=config))
  File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.8/copy.py", line 205, in _deepcopy_list
    append(deepcopy(a, memo))
  File "/usr/lib/python3.8/copy.py", line 172, in deepcopy
    y = _reconstruct(x, memo, *rv)
  File "/usr/lib/python3.8/copy.py", line 296, in _reconstruct
    value = deepcopy(value, memo)
  File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.8/copy.py", line 230, in _deepcopy_dict
    y[deepcopy(key, memo)] = deepcopy(value, memo)
  File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.8/copy.py", line 210, in _deepcopy_tuple
    y = [deepcopy(a, memo) for a in x]
  File "/usr/lib/python3.8/copy.py", line 210, in <listcomp>
    y = [deepcopy(a, memo) for a in x]
  File "/usr/lib/python3.8/copy.py", line 146, in deepcopy
    y = copier(x, memo)
  File "/usr/lib/python3.8/copy.py", line 210, in _deepcopy_tuple
    y = [deepcopy(a, memo) for a in x]
  File "/usr/lib/python3.8/copy.py", line 210, in <listcomp>
    y = [deepcopy(a, memo) for a in x]
  File "/usr/lib/python3.8/copy.py", line 161, in deepcopy
    rv = reductor(4)
TypeError: cannot pickle 'module' object

This error occurs during execution of model.to_json() and I don't have an idea how to solve it. Is there a way to fix this error or save json by another way?

1

There are 1 best solutions below

2
Aznie_Intel On

Conversion of IR model into TensorFlow format is not officially supported with OpenVINO Toolkit. Referring to the GitHub page, you may try converting your model using the command from the Execution sample for Conversion of OpenVINO IR to TensorFlow models.