code: def parametrized_unbottleneck(x, hidden_size, hparams):
    
    if hparams.bottleneck_kind == "tanh_discrete":
      return tanh_discrete_unbottleneck(x, hidden_size)
    if hparams.bottleneck_kind == "isemhash":
      return isemhash_unbottleneck(x, hidden_size,
                                   hparams.isemhash_filter_size_multiplier)
    if hparams.bottleneck_kind in ["vq", "em", "gumbel_softmax"]:
      return vq_discrete_unbottleneck(x, hidden_size)
    raise ValueError(
        "Unsupported hparams.bottleneck_kind %s" % hparams.bottleneck_kind)
docs: Meta-function calling all the above un-bottlenecks with hparams.