class_docstr: A residual connection followed by a layer norm.
  
  Args:
      size (int): layerNorm size
      dropout (float): the dropout probability
      device: (Optional[torch.device]).
  
  Example::
  
      self.input_sublayer = SublayerConnection(
          size=hidden, dropout=dropout, device=device
      )
class_docstr_tok: ["A","residual","connection","followed","by","a","layer","norm",".","Args",":","size","(","int",")",":","layerNorm","size","dropout","(","float",")",":","the","dropout","probability","device",":","(","Optional","[","torch.device","]",")",".","Example",":",":","self.input_sublayer","=","SublayerConnection","(","size=hidden",",","dropout=dropout",",","device=device",")"]
code: def __init__(
      self,
      size: int,
      dropout: float,
      device: Optional[torch.device] = None,
  ) -> None:
      super().__init__()
      self.norm = nn.LayerNorm(size, device=device)
      self.dropout = nn.Dropout(dropout)
  
imports: import copy
  import math
  from typing import Callable, Optional, Tuple
  import torch
  import torch.nn
  from torchrec.modules.embedding_configs import EmbeddingConfig
  from torchrec.modules.embedding_modules import EmbeddingCollection
  from torchrec.sparse.jagged_tensor import KeyedJaggedTensor
label_desc: Use image node_id 1 to create a new SublayerConnection object from inherited base classes: nn with example: obj = SublayerConnection(size, dropout, device)