code: def __call__(self, idx: Tensor) -> Tensor:
      if not hasattr(self, "vocab_counter"):
          self.vocab_counter = Tensor.arange(
              self.vocab_size,
              requires_grad=False,
              device=self.weight.device,
          ).reshape(1, 1, self.vocab_size)
      batch_size, seqlen = idx.shape
      if seqlen == 0:
          return Tensor.empty(
              batch_size, 0, self.embed_size, device=self.weight.device
          )
      return (self.vocab_counter == idx.unsqueeze(2)).expand(
          *idx.shape, self.vocab_size
      ) @ self.weight
  
imports: import math
  from typing import Optional, Union, Tuple, cast
  from tinygrad.tensor import Tensor
  from tinygrad.helpers import prod
  from tinygrad.nn import optim, state
label_desc: Use image node_id 2 for calling the Embedding obj's underlying member method code with example usage: obj.__call__(idx) and returns: unknown, Tensor