code: def _decompress_uint4_to_uint8(self, tensor: Tensor) -> Tensor:
      new_data_shape = list(tensor.shape)
      new_data_shape[-1] = new_data_shape[-1] * 2
      data = torch.empty(
          new_data_shape, dtype=torch.uint8, device=tensor.device
      )
      data[..., 0::2] = tensor.bitwise_right_shift(4)
      data[..., 1::2] = tensor.bitwise_and(0xF)
  
      return data
  
imports: import torch
  import deepspeed
  from torch import Tensor
  from typing import Tuple
  import torch.nn
  from typing import Dict, Callable, Union
  from deepspeed.accelerator import get_accelerator
  import functools
label_desc: Use image node_id 4 for calling the DeQuantizer obj's underlying member method code with example usage: obj._decompress_uint4_to_uint8(tensor) and returns: data