【Tensorflow】解决Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Te

简介: 文章讨论了在使用Tensorflow 2.3时遇到的一个错误:"Inputs to eager execution function cannot be Keras symbolic tensors...",这个问题通常与Tensorflow的eager execution(急切执行)模式有关,提供了三种解决这个问题的方法。

问题

环境

Python 3.8
Tensorflow 2.3

导入的包

from tensorflow.python.keras import *
from tensorflow.python.keras.layers import *

程序确定没有问题但是运行会报错Inputs to eager execution function cannot be Keras symbolic tensors, but found [<tf.Tensor ‘input_2:0’

解决

参考资料

根据TF 2.0文档,创建模型有两种方法,一种是通过面向对象的方法,另一种是使用keras功能api。尽管有一些示例在keras功能模型中调用了图层子类,但在keras功能api中没有调用模型子类的实例。

本人就是用keras的API搭建模型,tf 2.0中默认情况下会启用急切执行

(1)解决办法一
是换Tensorflow为2.0版本

创建一个新的conda环境

conda create -n tf2 python=3.6
conda activate tf tf2

安装tensorflow2.0版本

pip install tensorflow-gpu==2.0 -i https://pypi.douban.com/simple/

(2)解决办法二
只在tensorflow2.0成功,在tensorflow2.3不成功

import tensorflow as tf
tf.compat.v1.disable_eager_execution()

(2)解决办法三
在代码的中添加一行

tf.config.experimental_run_functions_eagerly(True)

以下内容来源参考资料

tf.config.experimental_run_functions_eagerly(True)的文档中,它说在调试和阅读功能API规范时很有用,并且它的意思是,如果编译由功能API构建的模型而没有任何错误,则可以使用该模型进行训练,不会出现任何错误。

目录
相关文章
|
20天前
|
机器学习/深度学习 TensorFlow 算法框架/工具
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
将Keras训练好的.hdf5模型转换为TensorFlow的.pb模型,然后再转换为TensorRT支持的.uff格式,并提供了转换代码和测试步骤。
53 3
深度学习之格式转换笔记(三):keras(.hdf5)模型转TensorFlow(.pb) 转TensorRT(.uff)格式
|
24天前
|
机器学习/深度学习 TensorFlow API
使用 TensorFlow 和 Keras 构建图像分类器
【10月更文挑战第2天】使用 TensorFlow 和 Keras 构建图像分类器
|
20天前
|
机器学习/深度学习 移动开发 TensorFlow
深度学习之格式转换笔记(四):Keras(.h5)模型转化为TensorFlow(.pb)模型
本文介绍了如何使用Python脚本将Keras模型转换为TensorFlow的.pb格式模型,包括加载模型、重命名输出节点和量化等步骤,以便在TensorFlow中进行部署和推理。
55 0
|
3月前
|
TensorFlow 算法框架/工具 Python
TensorFlow2 Eager Execution模式
【8月更文挑战第18天】TensorFlow2 Eager Execution模式。
40 9
|
3月前
解决微软云Azure Function运行报错-Value cannot be null. (Parameter ‘provider‘)
解决微软云Azure Function运行报错-Value cannot be null. (Parameter ‘provider‘)
72 4
|
3月前
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API三种搭建神经网络的方式及以mnist举例实现
使用Keras API构建神经网络的三种方法:使用Sequential模型、使用函数式API以及通过继承Model类来自定义模型,并提供了基于MNIST数据集的示例代码。
51 12
|
3月前
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API两种训练GAN网络的方式
使用Keras API以两种不同方式训练条件生成对抗网络(CGAN)的示例代码:一种是使用train_on_batch方法,另一种是使用tf.GradientTape进行自定义训练循环。
36 5
|
3月前
|
Apache 开发者 Java
Apache Wicket揭秘:如何巧妙利用模型与表单机制,实现Web应用高效开发?
【8月更文挑战第31天】本文深入探讨了Apache Wicket的模型与表单处理机制。Wicket作为一个组件化的Java Web框架,提供了多种模型实现,如CompoundPropertyModel等,充当组件与数据间的桥梁。文章通过示例介绍了模型创建及使用方法,并详细讲解了表单组件、提交处理及验证机制,帮助开发者更好地理解如何利用Wicket构建高效、易维护的Web应用程序。
42 0
|
3月前
|
机器学习/深度学习 API TensorFlow
深入解析TensorFlow 2.x中的Keras API:快速搭建深度学习模型的实战指南
【8月更文挑战第31天】本文通过搭建手写数字识别模型的实例,详细介绍了如何利用TensorFlow 2.x中的Keras API简化深度学习模型构建流程。从环境搭建到数据准备,再到模型训练与评估,展示了Keras API的强大功能与易用性,适合初学者快速上手。通过简单的代码,即可完成卷积神经网络的构建与训练,显著降低了深度学习的技术门槛。无论是新手还是专业人士,都能从中受益,高效实现模型开发。
24 0
|
3月前
|
机器学习/深度学习 IDE API
【Tensorflow+keras】Keras 用Class类封装的模型如何调试call子函数的模型内部变量
该文章介绍了一种调试Keras中自定义Layer类的call方法的方法,通过直接调用call方法并传递输入参数来进行调试。
28 4