当我尝试在 keras 功能模型的定义中使用 tf.map_fn 时,出现错误:
TypeError: Could not build a TypeSpec for <KerasTensor: ...
Run Code Online (Sandbox Code Playgroud)
例如,这个简单的模型将在 tf-nightly 2.5.0 中触发该错误:
import tensorflow as tf
from tensorflow.keras.layers import Input
from tensorflow.keras.models import Model
x = Input(shape=(10,))
y = tf.map_fn(lambda x : x * 2, x, fn_output_signature=tf.float32)
model = Model(inputs=x, outputs=y)
Run Code Online (Sandbox Code Playgroud)
而将对 tf.map_fn 的调用替换为对其他张量流操作的调用则可以正常工作。