问题描述
m = gpflow.models.SVGP(
likelihood=likelihood,kernel=kernel,inducing_variable=Z,num_data = len(X_train)
)
是否有可能将其参数转移到另一个模型并获得类似的结果?例如
model = gpflow.models.SVGP(kernel=m.kernel,likelihood=m.likelihood,inducing_variable=m.inducing_variable,num_data=m.num_data)
但是这个例子失败了,因为 model
的结果很差。是不是还有一些其他的参数,应该加在签名里,还是原则上是不可能的?
解决方法
是的,SVGP(以及 VGP)模型预测关键取决于由 model.q_mu
和 model.q_sqrt
参数化的 q(u) 分布。您可以使用
params = gpflow.utilities.parameter_dict(model)
gpflow.utilities.multiple_assign(model,params)
(有关更多上下文,请参阅 this notebook)