def load_mcmc_samples_to_model()

in ax/models/torch/fully_bayesian_model_utils.py [0:0]


def load_mcmc_samples_to_model(model: GPyTorchModel, mcmc_samples: Dict) -> None:
    """Load MCMC samples into GPyTorchModel."""
    if "noise" in mcmc_samples:
        model.likelihood.noise_covar.noise = (
            mcmc_samples["noise"]
            .detach()
            .clone()
            .view(model.likelihood.noise_covar.noise.shape)  # pyre-ignore
            .clamp_min(MIN_INFERRED_NOISE_LEVEL)
        )
    model.covar_module.base_kernel.lengthscale = (
        mcmc_samples["lengthscale"]
        .detach()
        .clone()
        .view(model.covar_module.base_kernel.lengthscale.shape)  # pyre-ignore
    )
    model.covar_module.outputscale = (  # pyre-ignore
        mcmc_samples["outputscale"]
        .detach()
        .clone()
        # pyre-fixme[16]: Item `Tensor` of `Union[Tensor, Module]` has no attribute
        #  `outputscale`.
        .view(model.covar_module.outputscale.shape)
    )
    model.mean_module.constant.data = (
        mcmc_samples["mean"]
        .detach()
        .clone()
        .view(model.mean_module.constant.shape)  # pyre-ignore
    )
    if "c0" in mcmc_samples:
        model.input_transform._set_concentration(  # pyre-ignore
            i=0,
            value=mcmc_samples["c0"]
            .detach()
            .clone()
            .view(model.input_transform.concentration0.shape),  # pyre-ignore
        )
        # pyre-fixme[16]: Item `Tensor` of `Union[Tensor, Module]` has no attribute
        #  `_set_concentration`.
        model.input_transform._set_concentration(
            i=1,
            value=mcmc_samples["c1"]
            .detach()
            .clone()
            .view(model.input_transform.concentration1.shape),  # pyre-ignore
        )