code: def variable(x, /):
      if ivy.is_int_dtype(x.dtype):
          x = ivy.astype(x, ivy.default_float_dtype()).to_native()
      if not x.is_leaf:
          return x.detach().requires_grad_()
      return x.clone().requires_grad_()
  
file_path: ivy/ivy/functional/backends/torch/gradients.py
imports: import torch
  from typing import Optional, Callable, Sequence, Union
  import ivy
  from ivy.func_wrapper import outputs_to_ivy_arrays, inputs_to_native_arrays
  from ivy.functional.ivy.gradients import _get_required_float_variables, _get_y_and_ret_idxs, _get_native_y, _set_duplicates, _process_func_ret_and_grads
label_desc: Use image node_id 1 for calling a global function with example usage: variable() and returns: x, x