code: def forward(ctx, soft_value):
      hard_value = soft_value.round()
      hard_value._unquantize = soft_value
      return hard_value
  
file_path: pyro/pyro/distributions/relaxed_straight_through.py
imports: import torch
  from torch.distributions.utils import clamp_probs
  from pyro.distributions.torch import RelaxedBernoulli, RelaxedOneHotCategorical
  from pyro.distributions.util import copy_docs_from
label_desc: Use image node_id 1 for calling the QuantizeBernoulli obj's underlying member method code with example usage: obj.forward(ctx, soft_value) and returns: hard_value