TensorFlow 2.8 kerastensor和tensor在输入时会有冲突

 

 

如上报错,print 输入的数据,得到:

  KerasTensor(type_spec=TensorSpec(shape=(None, 1), dtype=tf.float32, name='4'), name='4', description="created by layer '4'")

 

KerasTensor和Tensor是完全不同的格式。
KerasTensor是Keras中封装的特殊的张量,不具备Tensor很多性质。
可以这么理解,Tensor向下兼容KerasTensor,但是KerasTensor不能向上兼容Tensor。
两种向量相加等各种操作之后,得到的会是KerasTensor,而非Tensor
Tensor+KerasTensor = KerasTensor

 

目前尚未找到两者的转换方法,解决方法可能是自定义层,或者规避使用keras,如果大家有相关解决方法,欢迎评论区传送门~

更新:将代码换一个文件后可以正常运行,未找到原因 

 

参考:https://blog.csdn.net/sparkleyn/article/details/114761371

https://koha9.asuscomm.com/p/tensorflow-multi-input-custom-loss-func/

posted @ 2022-04-15 11:34  星涅爱别离  阅读(1992)  评论(0编辑  收藏  举报