code: def calculate_storage_specific_size_data_provider():
      return (
          {
              "sharding_type": ShardingType.TABLE_ROW_WISE,
              "optimizer_class": torch.optim.SGD,
              "expected_storage": [50, 50],
          },
          {
              "sharding_type": ShardingType.COLUMN_WISE,
              "optimizer_class": torch.optim.Adam,
              "expected_storage": [150, 150],
          },
          {
              "sharding_type": ShardingType.TABLE_ROW_WISE,
              "optimizer_class": None,
              "expected_storage": [50, 50],
          },
          {
              "sharding_type": ShardingType.DATA_PARALLEL,
              "optimizer_class": trec_optim.RowWiseAdagrad,
              "expected_storage": [134, 134],
          },
      )
  
imports: import unittest
  from typing import cast
  import torch
  import torchrec.optim
  from torchrec.distributed.embedding import EmbeddingCollectionSharder
  from torchrec.distributed.embedding_types import EmbeddingComputeKernel
  from torchrec.distributed.embeddingbag import EmbeddingBagCollectionSharder
  from torchrec.distributed.fbgemm_qcomm_codec import CommType, get_qcomm_codecs_registry, QCommsConfig
  from torchrec.distributed.planner.constants import BATCH_SIZE
  from torchrec.distributed.planner.enumerators import EmbeddingEnumerator
  from torchrec.distributed.planner.shard_estimators import _calculate_storage_specific_sizes, EmbeddingOffloadStats, EmbeddingPerfEstimator
  from torchrec.distributed.planner.types import ParameterConstraints, Perf, Topology
  from torchrec.distributed.quant_embeddingbag import QuantEmbeddingBagCollectionSharder
  from torchrec.distributed.test_utils.test_model import TestSparseNN
  from torchrec.distributed.tests.test_quant_model_parallel import _quantize
  from torchrec.distributed.tests.test_sequence_model import TestSequenceSparseNN
  from torchrec.distributed.types import CacheParams, CacheStatistics, ModuleSharder, ShardingType
  from torchrec.modules.embedding_configs import EmbeddingBagConfig, EmbeddingConfig
label_desc: Use image node_id 1 for calling a global function with example usage: calculate_storage_specific_size_data_provider() and returns: dict,  dict,  dict,  dict