我们已经训练了一个模型,并希望在几种不同的方法中使用它,每一种方法都会改变它。但是,第一个方法调用将污染后续调用的模型。
理想情况下,我们希望只对模型进行深度复制,然后将副本传递给变异方法。
这个是可能的吗?或者有没有更好的选择?
发布于 2020-01-22 20:19:17
当然了。GPflow 2.0.0-rc1有一个深度拷贝的实现,但它被称为deepcopy_components
发布于 2020-07-19 09:48:29
GPflow的答案适用于Artem 2.0的候选rc1版本。在最终的2.0版本中,函数是gpflow.utilities.deepcopy。
您还可以使用gpflow.utilities.freeze获取模型的不可变*快照,它将返回模型,并将每个tf.Variable和gpflow.Parameter替换为一个tf.Tensor。
*不可变的,因为它不能被训练
https://stackoverflow.com/questions/59858967
复制相似问题