You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
---------------------------------------------------------------------------
InvalidArgumentError Traceback (most recent call last)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/framework/importer.py:496, in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, producer_op_list)
495 try:
--> 496 results = c_api.TF_GraphImportGraphDefWithResults(
497 graph._c_graph, serialized, options) # pylint: disable=protected-access
498 results = c_api_util.ScopedTFImportGraphDefResults(results)
InvalidArgumentError: Input 0 of node RetinaFaceModel/FPN/ConvBN/bn/AssignNewValue was passed float from RetinaFaceModel/FPN/ConvBN/bn/FusedBatchNormV3/ReadVariableOp/resource:0 incompatible with expected resource.
During handling of the above exception, another exception occurred:
ValueError Traceback (most recent call last)
Cell In[19], line 1
----> 1 ct.convert(model, source='tensorflow')
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/_converters_entry.py:492, in convert(model, source, inputs, outputs, classifier_config, minimum_deployment_target, convert_to, compute_precision, skip_model_load, compute_units, package_dir, debug, pass_pipeline)
489 if specification_version is None:
490 specification_version = _set_default_specification_version(exact_target)
--> 492 mlmodel = mil_convert(
493 model,
494 convert_from=exact_source,
495 convert_to=exact_target,
496 inputs=inputs,
497 outputs=outputs_as_tensor_or_image_types, # None or list[ct.ImageType/ct.TensorType]
498 classifier_config=classifier_config,
499 skip_model_load=skip_model_load,
500 compute_units=compute_units,
501 package_dir=package_dir,
502 debug=debug,
503 specification_version=specification_version,
504 main_pipeline=pass_pipeline,
505 )
507 if exact_target == 'milinternal':
508 return mlmodel # Returns the MIL program
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/converter.py:188, in mil_convert(model, convert_from, convert_to, compute_units, **kwargs)
149 @_profile
150 def mil_convert(
151 model,
(...)
155 **kwargs
156 ):
157 """
158 Convert model from a specified frontend `convert_from` to a specified
159 converter backend `convert_to`.
(...)
186 See `coremltools.converters.convert`
187 """
--> 188 return _mil_convert(model, convert_from, convert_to, ConverterRegistry, MLModel, compute_units, **kwargs)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/converter.py:212, in _mil_convert(model, convert_from, convert_to, registry, modelClass, compute_units, **kwargs)
209 weights_dir = _tempfile.TemporaryDirectory()
210 kwargs["weights_dir"] = weights_dir.name
--> 212 proto, mil_program = mil_convert_to_proto(
213 model,
214 convert_from,
215 convert_to,
216 registry,
217 **kwargs
218 )
220 _reset_conversion_state()
222 if convert_to == 'milinternal':
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/converter.py:285, in mil_convert_to_proto(model, convert_from, convert_to, converter_registry, main_pipeline, **kwargs)
280 frontend_pipeline, backend_pipeline = _construct_other_pipelines(
281 main_pipeline, convert_from, convert_to
282 )
284 frontend_converter = frontend_converter_type()
--> 285 prog = frontend_converter(model, **kwargs)
286 PipelineManager.apply_pipeline(prog, frontend_pipeline)
288 PipelineManager.apply_pipeline(prog, main_pipeline)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/converter.py:98, in TensorFlow2Frontend.__call__(self, *args, **kwargs)
95 from .frontend.tensorflow2.load import TF2Loader
97 tf2_loader = TF2Loader(*args, **kwargs)
---> 98 return tf2_loader.load()
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/frontend/tensorflow/load.py:61, in TFLoader.load(self)
59 outputs = self.kwargs.get("outputs", None)
60 output_names = get_output_names(outputs)
---> 61 self._graph_def = self._graph_def_from_model(output_names)
63 if self._graph_def is not None and len(self._graph_def.node) == 0:
64 msg = "tf.Graph should have at least 1 node, Got empty graph."
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/frontend/tensorflow2/load.py:133, in TF2Loader._graph_def_from_model(self, output_names)
131 def _graph_def_from_model(self, output_names=None):
132 """Overwrites TFLoader._graph_def_from_model()"""
--> 133 cfs, graph_def = self._get_concrete_functions_and_graph_def()
134 if isinstance(self.model, _tf.keras.Model) and self.kwargs.get("outputs", None) is None:
135 # For the keras model, check if the outputs is provided by the user.
136 # If not, we make sure the coreml model outputs order is the same as
137 # the original keras model
138 cf = cfs[0]
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/frontend/tensorflow2/load.py:127, in TF2Loader._get_concrete_functions_and_graph_def(self)
124 else:
125 raise NotImplementedError(msg.format(self.model))
--> 127 graph_def = self._graph_def_from_concrete_fn(cfs)
129 return cfs, graph_def
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/coremltools/converters/mil/frontend/tensorflow2/load.py:328, in TF2Loader._graph_def_from_concrete_fn(self, cfs)
325 raise NotImplementedError("Only a single concrete function is supported.")
327 if _get_version(_tf.__version__) >= _StrictVersion("2.2.0"):
--> 328 frozen_fn = _convert_variables_to_constants_v2(cfs[0], lower_control_flow=False, aggressive_inlining=True)
329 else:
330 frozen_fn = _convert_variables_to_constants_v2(cfs[0], lower_control_flow=False)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/framework/convert_to_constants.py:1083, in convert_variables_to_constants_v2(func, lower_control_flow, aggressive_inlining)
1075 converter_data = _FunctionConverterData(
1076 func=func,
1077 lower_control_flow=lower_control_flow,
1078 aggressive_inlining=aggressive_inlining)
1080 output_graph_def, converted_input_indices = _replace_variables_by_constants(
1081 converter_data=converter_data)
-> 1083 return _construct_concrete_function(func, output_graph_def,
1084 converted_input_indices)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/framework/convert_to_constants.py:1008, in _construct_concrete_function(func, output_graph_def, converted_input_indices)
1005 if context.context().has_function(f.signature.name):
1006 context.context().remove_function(f.signature.name)
-> 1008 new_func = wrap_function.function_from_graph_def(output_graph_def,
1009 new_input_names,
1010 new_output_names)
1012 # Manually propagate shape for input tensors where the shape is not correctly
1013 # propagated. Scalars shapes are lost when wrapping the function.
1014 for input_tensor in new_func.inputs:
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/eager/wrap_function.py:650, in function_from_graph_def(graph_def, inputs, outputs)
647 def _imports_graph_def():
648 importer.import_graph_def(graph_def, name="")
--> 650 wrapped_import = wrap_function(_imports_graph_def, [])
651 import_graph = wrapped_import.graph
652 return wrapped_import.prune(
653 nest.map_structure(import_graph.as_graph_element, inputs),
654 nest.map_structure(import_graph.as_graph_element, outputs))
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/eager/wrap_function.py:621, in wrap_function(fn, signature, name)
618 if name is not None:
619 func_graph_name = "wrapped_function_" + name
620 return WrappedFunction(
--> 621 func_graph.func_graph_from_py_func(
622 func_graph_name,
623 holder,
624 args=None,
625 kwargs=None,
626 signature=signature,
627 add_control_dependencies=False,
628 collections={}),
629 variable_holder=holder,
630 signature=signature)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/framework/func_graph.py:999, in func_graph_from_py_func(name, python_func, args, kwargs, signature, func_graph, autograph, autograph_options, add_control_dependencies, arg_names, op_return_value, collections, capture_by_value, override_flat_arg_shapes)
996 else:
997 _, original_func = tf_decorator.unwrap(python_func)
--> 999 func_outputs = python_func(*func_args, **func_kwargs)
1001 # invariant: `func_outputs` contains only Tensors, CompositeTensors,
1002 # TensorArrays and `None`s.
1003 func_outputs = nest.map_structure(convert, func_outputs,
1004 expand_composites=True)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/eager/wrap_function.py:87, in VariableHolder.__call__(self, *args, **kwargs)
86 def __call__(self, *args, **kwargs):
---> 87 return self.call_with_variable_creator_scope(self._fn)(*args, **kwargs)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/eager/wrap_function.py:93, in VariableHolder.call_with_variable_creator_scope.<locals>.wrapped(*args, **kwargs)
91 def wrapped(*args, **kwargs):
92 with variable_scope.variable_creator_scope(self.variable_creator_scope):
---> 93 return fn(*args, **kwargs)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/eager/wrap_function.py:648, in function_from_graph_def.<locals>._imports_graph_def()
647 def _imports_graph_def():
--> 648 importer.import_graph_def(graph_def, name="")
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/util/deprecation.py:535, in deprecated_args.<locals>.deprecated_wrapper.<locals>.new_func(*args, **kwargs)
527 _PRINTED_WARNING[(func, arg_name)] = True
528 logging.warning(
529 'From %s: calling %s (from %s) with %s is deprecated and will '
530 'be removed %s.\nInstructions for updating:\n%s',
(...)
533 'in a future version' if date is None else ('after %s' % date),
534 instructions)
--> 535 return func(*args, **kwargs)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/framework/importer.py:400, in import_graph_def(***failed resolving arguments***)
357 """Imports the graph from `graph_def` into the current default `Graph`.
358
359 This function provides a way to import a serialized TensorFlow
(...)
397 it refers to an unknown tensor).
398 """
399 del op_dict
--> 400 return _import_graph_def_internal(
401 graph_def,
402 input_map=input_map,
403 return_elements=return_elements,
404 name=name,
405 producer_op_list=producer_op_list)
File ~/SageMaker/envs/coreml_env/lib64/python3.8/site-packages/tensorflow/python/framework/importer.py:501, in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, producer_op_list)
498 results = c_api_util.ScopedTFImportGraphDefResults(results)
499 except errors.InvalidArgumentError as e:
500 # Convert to ValueError for backwards compatibility.
--> 501 raise ValueError(str(e))
503 # Create _DefinedFunctions for any imported functions.
504 #
505 # We do this by creating _DefinedFunctions directly from `graph_def`, and
(...)
510 # TODO(skyewm): fetch the TF_Functions directly from the TF_Graph
511 # TODO(skyewm): avoid sending serialized FunctionDefs back to the TF_Graph
513 _ProcessNewOps(graph)
ValueError: Input 0 of node RetinaFaceModel/FPN/ConvBN/bn/AssignNewValue was passed float from RetinaFaceModel/FPN/ConvBN/bn/FusedBatchNormV3/ReadVariableOp/resource:0 incompatible with expected resource.
While trying to convert model to CoreMl format, We are getting this error and the conversion process stops @peteryuX can you let us know how to fix this ?
The text was updated successfully, but these errors were encountered:
While trying to convert model to CoreMl format, We are getting this error and the conversion process stops @peteryuX can you let us know how to fix this ?
The text was updated successfully, but these errors were encountered: