class_docstr: Redistributes sequence embedding tensor in RW fashion with an AlltoAll operation.
  
  Args:
      pg (dist.ProcessGroup): ProcessGroup for AlltoAll communication.
      num_features (int): total number of features.
      device (Optional[torch.device]): device on which buffers will be allocated.
class_docstr_tok: ["Redistributes","sequence","embedding","tensor","in","RW","fashion","with","an","AlltoAll","operation",".","Args",":","pg","(","dist.ProcessGroup",")",":","ProcessGroup","for","AlltoAll","communication",".","num_features","(","int",")",":","total","number","of","features",".","device","(","Optional","[","torch.device","]",")",":","device","on","which","buffers","will","be","allocated","."]
code: def __init__(
      self,
      pg: dist.ProcessGroup,
      num_features: int,
      device: Optional[torch.device] = None,
      qcomm_codecs_registry: Optional[
          Dict[str, QuantizedCommCodecs]
      ] = None,
  ) -> None:
      super().__init__()
      self._dist = SequenceEmbeddingsAllToAll(
          pg,
          [num_features] * pg.size(),
          device,
          codecs=qcomm_codecs_registry.get(
              CommOp.SEQUENCE_EMBEDDINGS_ALL_TO_ALL.name, None
          )
          if qcomm_codecs_registry
          else None,
      )
  
imports: from typing import Any, Dict, List, Optional
  import torch
  import torch.distributed
  from torchrec.distributed.dist_data import SeqEmbeddingsAllToOne, SequenceEmbeddingsAllToAll
  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.rw_sharding import BaseRwEmbeddingSharding, InferRwSparseFeaturesDist, RwSparseFeaturesDist
  from torchrec.distributed.sharding.sequence_sharding import InferSequenceShardingContext, SequenceShardingContext
  from torchrec.distributed.types import Awaitable, CommOp, QuantizedCommCodecs
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
label_desc: Use image node_id 1 to create a new RwSequenceEmbeddingDist object from inherited base classes: BaseEmbeddingDist with example: obj = RwSequenceEmbeddingDist(pg, num_features, device, qcomm_codecs_registry)