AttributeError: 'Tensor' 对象没有属性'_in_graph_mode'。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AttributeError: 'Tensor' 对象没有属性'_in_graph_mode'。相关的知识,希望对你有一定的参考价值。
我遇到一个错误:'Tensor'对象没有属性'_in_graph_mode'。我调试了一下代码,我认为是在这个 渐变带 功能,但我不知道为什么。如果有谁知道,请帮帮我! :)
for i in range(50):
with tf.GradientTape() as tape:
inverted_feature = tf.cast(opt_img, dtype)
content_feature = tf.cast(images, dtype)
conv_inverted_outputs = grad_model(inverted_feature)
conv_content_outputs = grad_model(content_feature)
loss = InvertedImage.get_loss(conv_content_outputs, conv_inverted_outputs, content_feature, inverted_feature)
哪儿 毕业生模型 取特定层的输入和输出。此外。opt_img 和*图像*是张力器
grads = tape.gradient(loss, [conv_inverted_outputs, conv_content_outputs])
processed_grads = [g for g in grads]
grads_and_vars = zip(processed_grads, [conv_inverted_outputs, conv_content_outputs])
opt.apply_gradients(grads_and_vars)
我得到这个错误。
Traceback (most recent call last):
File "/usr/local/lib/python3.7/runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/helena/.vscode/extensions/ms-python.python-2020.2.64397/pythonFiles/lib/python/new_ptvsd/wheels/ptvsd/__main__.py", line 45, in <module>
cli.main()
File "/home/helena/.vscode/extensions/ms-python.python-2020.2.64397/pythonFiles/lib/python/new_ptvsd/wheels/ptvsd/../ptvsd/server/cli.py", line 361, in main
run()
File "/home/helena/.vscode/extensions/ms-python.python-2020.2.64397/pythonFiles/lib/python/new_ptvsd/wheels/ptvsd/../ptvsd/server/cli.py", line 203, in run_file
runpy.run_path(options.target, run_name="__main__")
File "/usr/local/lib/python3.7/runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "/usr/local/lib/python3.7/runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "/usr/local/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/home/helena/Documents/LAR_Celesc/lar-computer-vision/objdet-api/test_inverted_image.py", line 20, in <module>
data, model, class_index=tabby_cat_class_index, layer_name="block5_conv3"
File "/home/helena/Documents/LAR_Celesc/lar-computer-vision/objdet-api/tf_explain/core/inverted_image.py", line 54, in explain
images, model, class_index, layer_name
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 568, in __call__
result = self._call(*args, **kwds)
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 615, in _call
self._initialize(args, kwds, add_initializers_to=initializers)
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 497, in _initialize
*args, **kwds))
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2389, in _get_concrete_function_internal_garbage_collected
graph_function, _, _ = self._maybe_define_function(args, kwargs)
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2703, in _maybe_define_function
graph_function = self._create_graph_function(args, kwargs)
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/function.py", line 2593, in _create_graph_function
capture_by_value=self._capture_by_value),
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py", line 978, in func_graph_from_py_func
func_outputs = python_func(*func_args, **func_kwargs)
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/eager/def_function.py", line 439, in wrapped_fn
return weak_wrapped_fn().__wrapped__(*args, **kwds)
File "/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/framework/func_graph.py", line 968, in wrapper
raise e.ag_error_metadata.to_exception(e)
AttributeError: in converted code:
/home/helena/Documents/LAR_Celesc/lar-computer-vision/objdet-api/tf_explain/core/inverted_image.py:125 get_optimize_image *
opt.apply_gradients(grads_and_vars)
/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/keras/optimizer_v2/optimizer_v2.py:434 apply_gradients
self._create_slots(var_list)
/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/keras/optimizer_v2/gradient_descent.py:100 _create_slots
self.add_slot(var, "momentum")
/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/keras/optimizer_v2/optimizer_v2.py:574 add_slot
var_key = _var_key(var)
/home/helena/Documents/LAR_Celesc/larenv/lib/python3.7/site-packages/tensorflow_core/python/keras/optimizer_v2/optimizer_v2.py:1065 _var_key
if var._in_graph_mode:
AttributeError: 'Tensor' object has no attribute '_in_graph_mode'
'''
我刚刚遇到类似的问题(同样的跟踪),并找到了一个修复方法,希望对你的情况也有帮助。
检查一下
conv_inverted_outputs, conv_content_outputs
类型是tf. Variable而不是tf. Tensor.
如果其中任何一个是tf.Tensor,你会得到这个错误。
我没有看到你的代码,无法给出确切的修复方法,但在我的案例中,我是用以下方式生成权重的。
weights = tf.random.normal((784, 10))
改成:
weights = tf.Variable(tf.random.normal((784, 10)))
就解决了这个问题
以上是关于AttributeError: 'Tensor' 对象没有属性'_in_graph_mode'。的主要内容,如果未能解决你的问题,请参考以下文章
python AttributeError: 'NoneType' object has no attribute 'group'
AttributeError:'str'对象没有属性'author'
Python问题——AttributeError: 'NoneType' object has no attribute 'append'
text AttributeError:模块'enum'没有属性'IntFlag'
返回AttributeError:'int'对象没有属性'encode'
pymysql报AttributeError: module 'pymysql' has no attribute 'connect'