tensorflow / tensorflow/models
iterating over `tf.Tensor` is not allowed: AutoGraph did convert this function. This might indicate you are trying to use an unsupported feature
@rachellj218 is already working on this.
Since Aug 25, 2021.
- Dominant language
- Python
- Stars
- 77.7k
- Forks
- 44.8k
- PR merge metrics
- No merged PRs in 30d
Description
I have a problem . but i use "python model_builder_tf2_test.py" ,it's ok!
plaese help me.
Traceback (most recent call last):
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 432, in converted_call
converted_f = _convert_actual(target_entity, program_ctx)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 274, in _convert_actual
transformed, module, source_map = _TRANSPILER.transform(entity, program_ctx)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transpiler.py", line 286, in transform
return self.transform_function(obj, user_context)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transpiler.py", line 470, in transform_function
nodes, ctx = super(PyToPy, self).transform_function(fn, user_context)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transpiler.py", line 363, in transform_function
result = self.transform_ast(node, context)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 242, in transform_ast
node = self.initial_analysis(node, ctx)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 230, in initial_analysis
node = activity.resolve(node, ctx, None)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 709, in resolve
return ActivityAnalyzer(context, parent_scope).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 445, in visit
result = super(Base, self).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 371, in visit
return visitor(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 601, in visit_FunctionDef
node.body = self.visit_block(node.body)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 340, in visit_block
replacement = self.visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 445, in visit
result = super(Base, self).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 371, in visit
return visitor(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 664, in visit_If
node = self._process_parallel_blocks(node,
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 486, in _process_parallel_blocks
parent = self._process_block_node(parent, child, scope_name)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 473, in _process_block_node
block = self.visit_block(block)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 340, in visit_block
replacement = self.visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 445, in visit
result = super(Base, self).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 371, in visit
return visitor(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 681, in visit_For
node = self._process_parallel_blocks(node,
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 486, in _process_parallel_blocks
parent = self._process_block_node(parent, child, scope_name)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 473, in _process_block_node
block = self.visit_block(block)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 340, in visit_block
replacement = self.visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 445, in visit
result = super(Base, self).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 371, in visit
return visitor(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 651, in visit_With
node = self.generic_visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 447, in generic_visit
value = self.visit(value)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 445, in visit
result = super(Base, self).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 371, in visit
return visitor(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 656, in visit_withitem
return self._process_statement(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 344, in _process_statement
node = self.generic_visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 456, in generic_visit
new_node = self.visit(old_value)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 445, in visit
result = super(Base, self).visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/ast.py", line 371, in visit
return visitor(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/static_analysis/activity.py", line 463, in visit_Call
node.args = self.visit_block(node.args)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 340, in visit_block
replacement = self.visit(node)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/pyct/transformer.py", line 431, in visit
raise ValueError(msg)
ValueError: invalid value for "node": expected "ast.AST", got "<class 'NoneType'>"; to visit lists of nodes, use "visit_block" instead
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "model_main_tf2.py", line 115, in
tf.compat.v1.app.run()
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/platform/app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/absl/app.py", line 312, in run
_run_main(main, args)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/absl/app.py", line 258, in _run_main
sys.exit(main(argv))
File "model_main_tf2.py", line 106, in main
model_lib_v2.train_loop(
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/object_detection-0.1-py3.8.egg/object_detection/model_lib_v2.py", line 678, in train_loop
losses_dict = _dist_train_step(train_input_iter)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/def_function.py", line 885, in call
result = self._call(*args, **kwds)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/def_function.py", line 933, in _call
self._initialize(args, kwds, add_initializers_to=initializers)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/def_function.py", line 759, in _initialize
self._stateful_fn._get_concrete_function_internal_garbage_collected( # pylint: disable=protected-access
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/function.py", line 3066, in _get_concrete_function_internal_garbage_collected
graph_function, _ = self._maybe_define_function(args, kwargs)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/function.py", line 3463, in _maybe_define_function
graph_function = self._create_graph_function(args, kwargs)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/function.py", line 3298, in _create_graph_function
func_graph_module.func_graph_from_py_func(
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/framework/func_graph.py", line 1007, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/eager/def_function.py", line 668, in wrapped_fn
out = weak_wrapped_fn().wrapped(*args, **kwds)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/framework/func_graph.py", line 983, in wrapper
return autograph.converted_call(
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 439, in converted_call
return _fall_back_unconverted(f, args, kwargs, options, e)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 486, in _fall_back_unconverted
return _call_unconverted(f, args, kwargs, options)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/autograph/impl/api.py", line 463, in _call_unconverted
return f(*args, **kwargs)
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/object_detection-0.1-py3.8.egg/object_detection/model_lib_v2.py", line 659, in _dist_train_step
for _ in tf.range(num_steps_per_iteration - 1):
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/framework/ops.py", line 520, in iter
self._disallow_iteration()
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/framework/ops.py", line 513, in _disallow_iteration
self._disallow_when_autograph_enabled("iterating over tf.Tensor")
File "/home/ubuntu/anaconda3/envs/Digit/lib/python3.8/site-packages/tensorflow-2.6.0-py3.8-linux-x86_64.egg/tensorflow/python/framework/ops.py", line 489, in _disallow_when_autograph_enabled
raise errors.OperatorNotAllowedInGraphError(
tensorflow.python.framework.errors_impl.OperatorNotAllowedInGraphError: iterating over tf.Tensor is not allowed: AutoGraph did convert this function. This might indicate you are trying to use an unsupported feature.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.