class_docstr: Computes cache statistics for uvm_fused_cache tables.
  
  Args:
  
  cachebility (float):
      The area-under-the-curve of miss-ratio curve.
  expected_lookups (float):
      The expected number of unique embedding ids per global batch.
  mrc_hist_counts (torch.Tensor):
      A 1d tensor (size n) holding a histogram of LRU miss ratio curve. Each bin
      represents 1/nth of possible LRU cache sizes (from load_factor 0 to load_factor
      1.0). The bin contains the number of expected LRU operations that could be
      handled without a cache miss if the LRU load_factor was at least that size.
  height (int):
      The height (num_embeddings) of the embedding table.
code: def __init__(
      self,
      cacheability: float,
      expected_lookups: int,
      mrc_hist_counts: torch.Tensor,
      height: int,
  ) -> None:
      self._cacheability = cacheability
      self._expected_lookups = expected_lookups
      self.height = height
  
      if mrc_hist_counts.dim() != 1:
          raise ValueError(
              f"expected 1d tensor, got {mrc_hist_counts.dim()}d"
          )
      if mrc_hist_counts.size()[0] == 0:
          raise ValueError("expected non-empty tensor")
  
      self.hist: torch.Tensor = mrc_hist_counts
      self.bins: torch.Tensor = torch.linspace(
          0, height, len(mrc_hist_counts) + 1
      )
  
imports: import logging
  import math
  from typing import cast, Dict, List, Optional, Tuple, Type
  import torch
  import torchrec.optim
  from torch import nn
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.planner.constants import BATCHED_COPY_PERF_FACTOR, BIGINT_DTYPE, DP_ELEMENTWISE_KERNELS_PERF_FACTOR, FULL_BLOCK_EMB_DIM, HALF_BLOCK_PENALTY, kernel_bw_lookup, QUARTER_BLOCK_PENALTY, UVM_CACHING_RATIO, WEIGHTED_KERNEL_MULTIPLIER
  from torchrec.distributed.planner.types import ParameterConstraints, Perf, PlannerError, ShardEstimator, ShardingOption, Storage, Topology
  from torchrec.distributed.planner.utils import prod, sharder_name
  from torchrec.distributed.types import CacheStatistics, CommOp, ModuleSharder, ShardingType
  from torchrec.modules.embedding_modules import EmbeddingBagCollectionInterface
label_desc: Use image node_id 1 to create a new EmbeddingOffloadStats object from inherited base classes: CacheStatistics with example: obj = EmbeddingOffloadStats(cacheability, expected_lookups, mrc_hist_counts, height)