我似乎无法将通过visual studio的Model Builder(对象检测)创建的.onnx文件转换为TensorFlow.pb

2024-09-30 01:23:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过VisualStudioModelBuilder创建了一个模型,特别是一个对象检测模型。我正在使用VoTT来标记用于训练模型的图像,因为它有一个主动学习功能,需要一个TensorFlow.pb模型文件。我看到的从.onnx转换为.pb文件的唯一方法是通过onnx tf(https://github.com/onnx/onnx-tensorflow),但是运行命令onnx-tf convert -i /path/to/input.onnx -o /path/to/output仍然不起作用。我使用的是verison 1.7.0、onnx 1.7.0和TensorFlow 2.3.0。给出的错误如下:

Traceback (most recent call last):
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\jhset\AppData\Local\Programs\Python\Python37\Scripts\onnx-tf.exe\__main__.py", line 9, in <module>
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\cli.py", line 20, in main
    return onnx_tf.converter.main(args[1:])
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\converter.py", line 20, in main
    convert(**{k: v for k, v in vars(args).items() if v is not None})
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\converter.py", line 135, in convert
    tf_rep.export_graph(outdir)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\backend_rep.py", line 116, in export_graph
    **self.signatures))
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\def_function.py", line 1167, in get_concrete_function
    concrete = self._get_concrete_function_garbage_collected(*args, **kwargs)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\def_function.py", line 1073, in _get_concrete_function_garbage_collected
    self._initialize(args, kwargs, add_initializers_to=initializers)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\def_function.py", line 697, in _initialize
    *args, **kwds))
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\function.py", line 2855, in _get_concrete_function_internal_garbage_collected
    graph_function, _, _ = self._maybe_define_function(args, kwargs)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\function.py", line 3213, in _maybe_define_function
    graph_function = self._create_graph_function(args, kwargs)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\function.py", line 3075, in _create_graph_function
    capture_by_value=self._capture_by_value),
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\framework\func_graph.py", line 986, in func_graph_from_py_func
    func_outputs = python_func(*func_args, **func_kwargs)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\def_function.py", line 600, in wrapped_fn
    return weak_wrapped_fn().__wrapped__(*args, **kwds)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\eager\function.py", line 3735, in bound_method_wrapper
    return wrapped_fn(*args, **kwargs)
  File "c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\framework\func_graph.py", line 973, in wrapper
    raise e.ag_error_metadata.to_exception(e)
TypeError: in user code:

    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\backend_tf_module.py:98 __call__  *
        output_ops = self.backend._onnx_node_to_tensorflow_op(onnx_node,
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\backend.py:289 _onnx_node_to_tensorflow_op  *
        return handler.handle(node, tensor_dict=tensor_dict, strict=strict)
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\handlers\handler.py:59 handle  *
        return ver_handle(node, **kwargs)
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\onnx_tf\handlers\backend\sequence_at.py:45 version_11  *
        return [input_sequence[position]]
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\ops\ragged\ragged_getitem.py:103 ragged_tensor_getitem
        return _ragged_getitem(self, key)
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\ops\ragged\ragged_getitem.py:186 _ragged_getitem
        row = rt_input.values[starts[row_key]:limits[row_key]]
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\util\dispatch.py:201 wrapper
        return target(*args, **kwargs)
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\ops\array_ops.py:986 _slice_helper
        _check_index(s)
    c:\users\jhset\appdata\local\programs\python\python37\lib\site-packages\tensorflow\python\ops\array_ops.py:865 _check_index
        raise TypeError(_SLICE_TYPE_ERROR + ", got {!r}".format(idx))

    TypeError: Only integers, slices (`:`), ellipsis (`...`), tf.newaxis (`None`) and scalar tf.int32/tf.int64 tensors are valid indices, got <tf.Tensor 'onnx_tf_prefix_Constant_1089:0' shape=(1,) dtype=int64>
    ```
I don't use python often and am out of my element here, I'd really appreciate if someone could help with this.

Tags: inpylibpackageslocaltftensorflowsite

热门问题