code: def unconstrained_rational_quadratic_spline(
      inputs,
      unnormalized_widths,
      unnormalized_heights,
      unnormalized_derivatives,
      inverse=False,
      tails="linear",
      tail_bound=1.0,
      min_bin_width=DEFAULT_MIN_BIN_WIDTH,
      min_bin_height=DEFAULT_MIN_BIN_HEIGHT,
      min_derivative=DEFAULT_MIN_DERIVATIVE,
  ):
      inside_interval_mask = (inputs >= -tail_bound) & (
          inputs <= tail_bound
      )
      outside_interval_mask = ~inside_interval_mask
  
      outputs = torch.zeros_like(inputs)
      logabsdet = torch.zeros_like(inputs)
  
      if tails == "linear":
          unnormalized_derivatives = F.pad(
              unnormalized_derivatives, pad=(1, 1)
          )
          constant = np.log(np.exp(1 - min_derivative) - 1)
          unnormalized_derivatives[..., 0] = constant
          unnormalized_derivatives[..., -1] = constant
  
          outputs[outside_interval_mask] = inputs[outside_interval_mask]
          logabsdet[outside_interval_mask] = 0
      else:
          raise RuntimeError(
              "{} tails are not implemented.".format(tails)
          )
  
      (
          outputs[inside_interval_mask],
          logabsdet[inside_interval_mask],
      ) = rational_quadratic_spline(
          inputs=inputs[inside_interval_mask],
          unnormalized_widths=unnormalized_widths[
              inside_interval_mask, :
          ],
          unnormalized_heights=unnormalized_heights[
              inside_interval_mask, :
          ],
          unnormalized_derivatives=unnormalized_derivatives[
              inside_interval_mask, :
          ],
          inverse=inverse,
          left=-tail_bound,
          right=tail_bound,
          bottom=-tail_bound,
          top=tail_bound,
          min_bin_width=min_bin_width,
          min_bin_height=min_bin_height,
          min_derivative=min_derivative,
      )
  
      return outputs, logabsdet
  
imports: import numpy
  import torch
  from torch.nn import functional
label_desc: Use image node_id 3 for calling a global function with example usage: unconstrained_rational_quadratic_spline(inputs, unnormalized_widths, unnormalized_heights, unnormalized_derivatives, inverse, tails, tail_bound, min_bin_width, min_bin_height, min_derivative) and returns: outputs,  logabsdet