code: def __init__(
      self,
      hidden_size,
      num_attention_heads,
      attention_probs_dropout_prob,
      hidden_dropout_prob,
  ):
      self.self = BertSelfAttention(
          hidden_size, num_attention_heads, attention_probs_dropout_prob
      )
      self.output = BertSelfOutput(hidden_size, hidden_dropout_prob)
  
imports: from tinygrad.tensor import Tensor
  from tinygrad.nn import Linear, LayerNorm, Embedding
  from tinygrad.helpers import fetch, get_child
  from pathlib import Path
label_desc: Use image node_id 1 to create a new BertAttention object  with example: obj = BertAttention(hidden_size, num_attention_heads, attention_probs_dropout_prob, hidden_dropout_prob)