1

请我需要帮助!写完我的 TFF 代码后,我想保存我的模型所以我在代码末尾添加了这一行

ckpt_manager = checkpoint_manager.FileCheckpointManager("model.h5")
ckpt_manager.save_checkpoint(state, round_num=1)

错误是:

TypeError: To be compatible with tf.contrib.eager.defun, Python functions must return zero or more Tensors; in compilation of <function FileCheckpointManager.save_checkpoint.<locals>.<lambda> at 0x7f06b40de730>, found return value of type <class 'tensorflow_federated.python.common_libs.anonymous_tuple.AnonymousTuple'>, which is not a Tensor.
4

1 回答 1

0

引擎盖下FileCheckpointManager使用纯 TensorFlow API,因此不了解AnonymousTuple用于结构化数据的 TFF 类型。

有必要将 AnonymousTuple 转换回创建它的 Python 结构。这有时可以通过 上的方法_asdict()AnonymousTuple完成,但如果元组有任何未命名的字段,这将失败。否则,将需要from_tff_result在此处执行类似方法的操作。

于 2020-05-30T15:27:07.890 回答