code: def __init__(
      self,
      hidden_size,
      intermediate_size,
      num_attention_heads,
      attention_probs_dropout_prob,
      hidden_dropout_prob,
  ):
      self.attention = BertAttention(
          hidden_size,
          num_attention_heads,
          attention_probs_dropout_prob,
          hidden_dropout_prob,
      )
      self.intermediate = BertIntermediate(
          hidden_size, intermediate_size
      )
      self.output = BertOutput(
          hidden_size, intermediate_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 BertLayer object  with example: obj = BertLayer(hidden_size, intermediate_size, num_attention_heads, attention_probs_dropout_prob, hidden_dropout_prob)