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/
风雨兼程,前程可待!