docstr: function for intermediate projection of CFs.
docstr_tok: ["function","for","intermediate","projection","of","CFs","."]
code: def round_off_cfs(self, assign=False):
      """function for intermediate projection of CFs."""
      temp_cfs = []
      for index, tcf in enumerate(self.cfs):
          cf = tcf.detach().clone().numpy()
          for i, v in enumerate(
              self.encoded_continuous_feature_indexes
          ):
              # continuous feature in orginal scale
              org_cont = (
                  cf[v] * (self.cont_maxx[i] - self.cont_minx[i])
              ) + self.cont_minx[i]
              org_cont = round(
                  org_cont, self.cont_precisions[i]
              )  # rounding off
              normalized_cont = (org_cont - self.cont_minx[i]) / (
                  self.cont_maxx[i] - self.cont_minx[i]
              )
              cf[
                  v
              ] = normalized_cont  # assign the projected continuous value
  
          for v in self.encoded_categorical_feature_indexes:
              maxs = (
                  np.argwhere(
                      cf[v[0] : v[-1] + 1]
                      == np.amax(cf[v[0] : v[-1] + 1])
                  )
                  .flatten()
                  .tolist()
              )
              if len(maxs) > 1:
                  if self.tie_random:
                      ix = random.choice(maxs)
                  else:
                      ix = maxs[0]
              else:
                  ix = maxs[0]
              for vi in range(len(v)):
                  if vi == ix:
                      cf[v[vi]] = 1.0
                  else:
                      cf[v[vi]] = 0.0
  
          temp_cfs.append(cf)
          if assign:
              for jx in range(len(cf)):
                  self.cfs[index].data[jx] = torch.tensor(
                      temp_cfs[index]
                  )[jx]
  
      if assign:
          return None
      else:
          return temp_cfs
  
imports: import copy
  import random
  import timeit
  import numpy
  import torch
  from dice_ml import diverse_counterfactuals
  from dice_ml.explainer_interfaces.explainer_base import ExplainerBase
label_desc: Use image node_id 18 for calling the DicePyTorch obj's underlying member method code with example usage: obj.round_off_cfs(assign) and returns: None, temp_cfs