class_docstr: Shards sequence (unpooled) embeddings column-wise, i.e.. a given embedding is
  partitioned along its columns and placed on specified ranks.
code: def create_input_dist(
      self,
      device: Optional[torch.device] = None,
  ) -> BaseSparseFeaturesDist[KeyedJaggedTensor]:
      assert self._pg is not None
      return TwSparseFeaturesDist(
          self._pg,
          self.features_per_rank(),
      )
  
imports: from typing import Any, Dict, List, Optional
  import torch
  from torchrec.distributed.dist_data import SeqEmbeddingsAllToOne
  from torchrec.distributed.embedding_lookup import GroupedEmbeddingsLookup, InferGroupedEmbeddingsLookup
  from torchrec.distributed.embedding_sharding import BaseEmbeddingDist, BaseEmbeddingLookup, BaseSparseFeaturesDist
  from torchrec.distributed.embedding_types import BaseGroupedFeatureProcessor, KJTList
  from torchrec.distributed.sharding.cw_sharding import BaseCwEmbeddingSharding
  from torchrec.distributed.sharding.sequence_sharding import InferSequenceShardingContext, SequenceShardingContext
  from torchrec.distributed.sharding.tw_sequence_sharding import TwSequenceEmbeddingDist
  from torchrec.distributed.sharding.tw_sharding import InferTwSparseFeaturesDist, TwSparseFeaturesDist
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
label_desc: Use image node_id 1 for calling the CwSequenceEmbeddingSharding obj's underlying member method code with example usage: obj.create_input_dist(device) and returns: TwSparseFeaturesDist