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?
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.