我正在尝试将联合学习应用于需要两个输入的现有 keras 模型。当我调用tff.learning.from_compiled_keras_model
并包含一个虚拟批次时,我收到此错误:ValueError: Layer model_1 expects 2 inputs, but it received 1 input tensors. Inputs received: [<tf.Tensor 'packed:0' shape=(2, 20) dtype=int64>]
.
该模型接受两个 numpy 数组作为输入,因此我将 dummy_batch 定义为:
x = tf.constant(np.random.randint(1,100, size=[20]))
collections.OrderedDict([('x', [x, x]), ('y', x)])
我挖了一点,最终看到它tf.convert_to_tensor_or_sparse_tensor
在输入列表上被调用(在__init__
for 中_KerasModel
),它返回一个形状为 (2,20) 的张量,而不是两个单独的数组或张量。是否有其他方法可以表示输入列表以避免此问题?