【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构建的模型而没有任何错误,则可以使用该模型进行训练,不会出现任何错误。

目录
相关文章
|
30天前
|
TensorFlow 算法框架/工具 Python
TensorFlow2 Eager Execution模式
【8月更文挑战第18天】TensorFlow2 Eager Execution模式。
29 9
|
1月前
解决微软云Azure Function运行报错-Value cannot be null. (Parameter ‘provider‘)
解决微软云Azure Function运行报错-Value cannot be null. (Parameter ‘provider‘)
43 4
|
1月前
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API三种搭建神经网络的方式及以mnist举例实现
使用Keras API构建神经网络的三种方法:使用Sequential模型、使用函数式API以及通过继承Model类来自定义模型,并提供了基于MNIST数据集的示例代码。
38 12
|
1月前
|
机器学习/深度学习 API 算法框架/工具
【Tensorflow+keras】Keras API两种训练GAN网络的方式
使用Keras API以两种不同方式训练条件生成对抗网络(CGAN)的示例代码:一种是使用train_on_batch方法,另一种是使用tf.GradientTape进行自定义训练循环。
24 5
|
1月前
|
机器学习/深度学习 IDE API
【Tensorflow+keras】Keras 用Class类封装的模型如何调试call子函数的模型内部变量
该文章介绍了一种调试Keras中自定义Layer类的call方法的方法,通过直接调用call方法并传递输入参数来进行调试。
21 4
|
1月前
|
TensorFlow 算法框架/工具
【Tensorflow】解决A `Concatenate` layer should be called on a list of at least 2 inputs
在TensorFlow 2.0中,使用Concatenate函数时出现错误,可以通过替换为tf.concat 来解决。
19 4
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Tensorflow+Keras】keras实现条件生成对抗网络DCGAN--以Minis和fashion_mnist数据集为例
如何使用TensorFlow和Keras实现条件生成对抗网络(CGAN)并以MNIST和Fashion MNIST数据集为例进行演示。
30 3
|
1月前
|
TensorFlow API 算法框架/工具
【Tensorflow 2】Keras API+Estimator的使用
本文介绍了在TensorFlow 2中结合Keras API和Estimator API来构建和训练模型的方法,并提供了一个示例流程,包括构建模型、生成数据集、使用Estimator进行训练以及评估模型性能。
20 3
|
1月前
|
TensorFlow 算法框架/工具
【Tensorflow+Keras】用Tensorflow.keras的方法替代keras.layers.merge
在TensorFlow 2.0和Keras中替代旧版keras.layers.merge函数的方法,使用了新的层如add, multiply, concatenate, average, 和 dot来实现常见的层合并操作。
15 1
|
1月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
【Tensorflow+keras】解决cuDNN launch failure : input shape ([32,2,8,8]) [[{{node sequential_1/batch_nor
在使用TensorFlow 2.0和Keras训练生成对抗网络(GAN)时,遇到了“cuDNN launch failure”错误,特别是在调用self.generator.predict方法时出现,输入形状为([32,2,8,8])。此问题可能源于输入数据形状与模型期望的形状不匹配或cuDNN版本不兼容。解决方案包括设置GPU内存增长、检查模型定义和输入数据形状、以及确保TensorFlow和cuDNN版本兼容。
24 1

热门文章

最新文章