Tensorflow联合:给定一个模型,用两个不同数据集训练它,并计算这些模型之间的欧氏距离

wko9yo5t  于 2022-12-04  发布在  其他
关注(0)|答案(1)|浏览(352)

我有一个基于联邦学习和tensorflow 模型的下一个单词预测模型。我的服务器需要计算每一轮我收到的模型权重之间的距离。你知道如何做吗?

k7fdbhmy

k7fdbhmy1#

使用model.get_weights()为每个模型获取模型权重,
然后把它们变成Tensor。例如

model1_weights= model1.get_weights()
model2_weights= model2.get_weights()

weights= tf.constant([[model1_weights],[model2_weights]])

然后,您可以使用以下公式计算欧氏距离:

tf.math.reduce_euclidean_norm(x)

欲了解更多详情,请参阅此gist。谢谢。

相关问题